高德地图找不到so文件的错误解决

概述

之前在集成高德地图时刚开始一切正常,后来项目中加了一个图片选择的框架后地图成了白屏,一开始没注意,后来经过仔细查找才发现原因.就是找不到高德自己的so文件了.
原因
一般我们会把需要的so文件放在jniLibs目录下.
android目前支持7种架构的cpu,所以一般会在jniLibs下放置几种对应cpu架构的文件夹(即使你只放一个,有些依赖的库也会使用多个).
这样就会出现一个问题,比如我用到了高德地图,而高德只提供了armeabi、arm64-v8a两种架构的so文件.而如果手机是另一种架构A,且jniLibs目录下有对应架构的文件夹A(或者引用的第三方库中有),就会导致高德找不到so文件,因为这个文件夹A里并没有高德对应平台的so文件!
简单来说,就是手机会首先找自己平台对应的so文件夹,有则使用对应的文件夹里的内容,如无对应的文件夹则使用armeabi下的.
解决方法
我们可以选择只打包armeabi文件夹.因为大多数x86平台的手机都会兼容armeabi的版本。 但是会发现就算这样做了在模拟器上面依旧装不上,那是因为模拟器没有兼容,但是他可以替换平台。如果是genymotion的话,需要安装一个转换为arm的插件。

在Android下的defaultConfig下配置

ndk{
    abiFilters "armeabi"
}

附上高德官方的文档,我记得当时处理的时候官方的文档里还没有这个问题的解决方案,今天写的时候一看已经加上了,没看明白的兄弟点这里继续 高德官方说明

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值