美文网首页
高德地图找不到so文件的错误解决

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

作者: 再见信仰 | 来源:发表于2017-06-11 22:36 被阅读175次

    概述

    之前在集成高德地图时刚开始一切正常,后来项目中加了一个图片选择的框架后地图成了白屏,一开始没注意,后来经过仔细查找才发现原因.就是找不到高德自己的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"
    }
    

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

    相关文章

      网友评论

          本文标题:高德地图找不到so文件的错误解决

          本文链接:https://www.haomeiwen.com/subject/qgjkqxtx.html