首页 / 浏览问题 / 移动GIS / 问题详情
StringIndexOutOfBoundsException
7EXP 2020年05月08日
ava.lang.RuntimeException: Unable to start activity ComponentInfo{com.picc.nmms/com.picc.nmms.nonmotorn.activity.NongMainActivity}: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
                                           at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2984)
                                           at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3119)
                                           at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
                                           at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
                                           at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
                                           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1839)
                                           at android.os.Handler.dispatchMessage(Handler.java:106)
                                           at android.os.Looper.loop(Looper.java:201)
                                           at android.app.ActivityThread.main(ActivityThread.java:6864)
                                           at java.lang.reflect.Method.invoke(Native Method)
                                           at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
                                           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
                                        Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
                                           at java.lang.String.substring(String.java:2036)
                                           at com.supermap.data.Environment$b.a(Environment.java:880)
                                           at com.supermap.data.Environment.initialization(Environment.java:528)
                                           at com.picc.nmms.nonmotorn.activity.NongMainActivity.savelicense(NongMainActivity.java:90)
                                           at com.picc.nmms.nonmotorn.activity.NongMainActivity.onCreated(NongMainActivity.java:81)
                                           at com.picc.nmmscommon.BaseActivity.onCreate(BaseActivity.java:182)
                                           at android.app.Activity.performCreate(Activity.java:7232)
                                           at android.app.Activity.performCreate(Activity.java:7221)
                                           at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1272)
                                           at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2964)
                                           at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3119)
                                           at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
                                           at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
                                           at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
                                           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1839)
                                           at android.os.Handler.dispatchMessage(Handler.java:106)
                                           at android.os.Looper.loop(Looper.java:201)
                                           at android.app.ActivityThread.main(ActivityThread.java:6864)
                                           at java.lang.reflect.Method.invoke(Native Method)
                                           at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
                                           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)

1个回答

您好,请问一下报错代码是哪一句呢?需要您确认以下几个问题:
1.在设备中是否对app开启权限。
2.设备中是否有许可
9,267EXP 2020年05月08日

1.app有读写权限

2.设备中有许可

您这是哪句代码报的错误呢?在代码中调试看一下能不能获取到设备中的文件
865行substring,调试不了啊都混淆了
您写的代码是哪句报的错误?代码里面输出一下许可文件夹下的文件个数

我看了一下许可是放在了SuperMap下license文件夹下,是能读取到的,但是在Environment初始化的时候就报错提示索引越界

我还想问一下我用的是测试许可,so库和jar包会和我们项目的包名进行绑定吗?
经过调试该问题原因是没有读取到许可,将许可路径改为SuperMap/License下
...