新建工程後,使用ArcGIS Binding庫中會遇到常見錯誤:
BinaryXML file line #1: Error inflating class com.esri.android.map.MapViewJava.Lang.Reflect.InvocationTargetException:
Exceptionof type 'Java.Lang.Reflect.InvocationTargetException' was thrown.
Java.Lang.ExceptionInInitializerError:
Exceptionof type 'Java.Lang.ExceptionInInitializerError' was thrown
Java.Lang.UnsatisfiedLinkError:Couldn't load runtimecore_java from loaderdalvik.system.PathClassLoader
其報錯原因是我們的VS編譯沒有把.so文件編譯到APK裏面去
解決方法如下:
(1)檢查該工程裏邊對應文件夾下是否有相應.so文件(根據自己工程目錄配置確定哪些.so文件需要)
常規如下
Assets->armeabi->libruntimecore_java.so
Assets-> armeabi-v7a->libruntimecore_java.so
Assets-> x86->libruntimecore_java.so
沒有對應.so文件,手動複製.so文件到對應目錄
(2) Assets文件夾下配置成標準後,發現工程還是找不到.so文件,因此需將手動複製的文件默認類型設置爲AndroidNativeLibrary,選中該.so文件,找到屬性設置即可。
工程重新清理一遍,運行OK