使用的超图版本为10.1.2
安卓targetSdkVersion 30
调用Environment.initialization(this);崩溃,报错信息为:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.tcch.sm3d/com.tcch.sm3d.MainActivity}: java.lang.NullPointerException: Attempt to get length of null array
相关截图如下:
您好,麻烦确认以下几点: 1.是否设置ndk,在build.grandle文件中设置ndk为so文件的文件夹名称.如“:
ndk { abiFilters "armeabi-v7a" } 2.是否设置libs,如:
sourceSets { main { jniLibs.srcDirs = ['libs'] } } 3.build.grandle文件中设置的targetSDKVersion版本是多少,建议设置为28及以下
我把你们的示例项目Mobile GIS项目修改了一下,打开内置的二维地图数据可以正常运行。
然后我另写了加载一个三维场景的activity,运行报错,崩溃信息还是提示崩溃位置为
Environment.initialization(this);这一行
其他信息为:
2021-08-27 16:00:21.611 8296-8296/? W/System.err: java.io.FileNotFoundException: /sys/class/net/eth0/address: open failed: EACCES (Permission denied) 2021-08-27 16:00:21.613 8296-8296/? W/System.err: at libcore.io.IoBridge.open(IoBridge.java:492) 2021-08-27 16:00:21.613 8296-8296/? W/System.err: at java.io.FileInputStream.<init>(FileInputStream.java:160) 2021-08-27 16:00:21.613 8296-8296/? W/System.err: at java.io.FileInputStream.<init>(FileInputStream.java:115) 2021-08-27 16:00:21.613 8296-8296/? W/System.err: at java.io.FileReader.<init>(FileReader.java:58) 2021-08-27 16:00:21.613 8296-8296/? W/System.err: at com.supermap.data.Environment.loadFileAsString(Environment.java:939) 2021-08-27 16:00:21.613 8296-8296/? W/System.err: at com.supermap.data.Environment.getMacAddress(Environment.java:928) 2021-08-27 16:00:21.613 8296-8296/? W/System.err: at com.supermap.data.Environment.checkDevice_New(Environment.java:793) 2021-08-27 16:00:21.613 8296-8296/? W/System.err: at com.supermap.data.Environment.initialization(Environment.java:621) 2021-08-27 16:00:21.613 8296-8296/? W/System.err: at com.supermap.imobile.myapplication.SceneActivity.onCreate(SceneActivity.java:20)
因为场景没有初始化完成你就加载数据了,就会报错。你可以在初始化完成的回调里面去加载,sceneControlInitedComplete(SceneControlInitedCallBackListenner listenner)