高德3D地图和Realm数据库一起使用时的兼容问题

如题,二者一起使用时,在部分机型上地图不显示。一番查找,发现原因是高德只提供了armeabi和arm64-v8a类型so文件。于是打包的时候设置只保留armeabi,因为armeabi“几乎”兼容所有机型。打包运行,地图显示出来了。

以为这样就结束了,结果证明太天真了。过段时间先后有两个用户反馈华为P7手机安装应用之后,启动时就一直无响应。手上也没有P7来测试,很捉急,这时候想起来在线测试平台。二话不说直奔华为云测试,尼玛,竟然没找到P7的机型。后来在百度MTC测试平台的远程真机测试有P7,而且还限时免费,心中涌过一阵暖流。

在线调试之后,发现是还是ABI兼容问题,一番折腾之后,发现是Realm的问题。我1.2.0版本的Realm,还每个CPU类型都支持。华为P7的CPU类型是armeabi-v7a,我打包时只保留了armeabi,Realm的armeabi库文件不兼容armeabi-v7a。怎么办呢,如果保留armeabi-v7a的话,高德地图因为没有armeabi-v7a文件又要出问题了。后来看到littlezan同学的文章(http://www.jianshu.com/p/73ce9b69050a),发现了生机。就是高德地图的armeabi里的文件复制到armeabi-v7a里一份,然后打包的时候保留armeabi和armeabi-v7a,因为高德的armeabi是可以兼容armeabi-v7a型号的CPU的。

buildTypes {

release {

ndk {

abiFilters = ['armeabi', 'armeabi-v7a']

}

}

打包运行,华为P7运行正常,到此结束。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值