關於ArcGIS Xamarin.Android下的 Binding庫Error inflating class com.esri.android.map.MapView異常

新建工程後,使用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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章