摘要 : 记录一下在引用高德地图和 realm 的时候,地图不能初始化,从而不可显示的问题。
- realm的网址
- https://realm.io/cn/docs/java/latest/
- 高德地图
- http://lbs.amap.com/api/android-sdk/gettingstarted/
前面高德地图和 realm 一起使用的时候,遇到Java.lang.UnsatisfiedLinkError: Native method not found: com.autonavi.amap.mapcore.MapCore.nativeNewInstance:(Ljava/lang/String;Ljava/lang/String;)J
警告。使地图不能够正常的显示。两个分别使用的时候,皆能正常 使用。
说到这里非常感谢 浅浅清风的博客。通过她的帮助才知道怎么解决问题。在此,做一下记录。以免忘记
原因 :
因为在导入地图的时候是只支持(两者都是较新的版本)armeabi
。而 realm 是支持全平台。从而造成了上面的错误。
后面把其限制成 armeabi
时,这时候就直接报错。
后来明白其中其中的原因如下: 两者的截图分别是 realm版本 1 和raelm 的版本 2,通过比较后发现在 2 的时候不在有 armeabi
的 so包了。
暂时的解决办法:
暂时的解决办法是把 realm 的版本降到 1,同时限制其平台的 so(跟上图一样)。在 Module 的 build 中添加如下代码:
splits {
abi {
enable true
reset()
include 'armeabi'
}
}
求助:在这里求助各位大大都知道一些其它的方法吗? 因为在模拟器运行的时候不能在运行后就直接显示在模拟器上,需要自己手动的把 apk 拖拽到模拟器里面。用的逍遥安卓(其支持x86
和armeabi-v7a
)。也不知道这样会不会有其它弊端。希望知道的美女,帅哥些能评论告诉下。先感谢各位大大。