加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

AS中的一些问题,依赖第三方包,so找不到

发布时间:2020-12-14 02:13:58 所属栏目:百科 来源:网络整理
导读:前一段时间,使用了一个第三方的库。大家应该很清楚,配置下就ok,jar包会自动下。 例如使用android-gif-drawable dependencies { compile fileTree( dir : 'libs' ,include: [ '*.jar' ]) compile 'pl.droidsonroids.gif:android-gif-drawable:1.1.15' } 使

前一段时间,使用了一个第三方的库。大家应该很清楚,配置下就ok,jar包会自动下。
例如使用android-gif-drawable

dependencies {
    compile fileTree(dir: 'libs',include: ['*.jar'])
    compile 'pl.droidsonroids.gif:android-gif-drawable:1.1.15'
}

使用了之后测试下效果,突然发现在有些手机上爆XXX.so找不到。xxx.so使我们项目中自己编译的一些so。为了减小apk大小,我们编译的so仅仅只编译了armeabi。这就出问题了。
因为dependencies 引用的库,如果包含jni,默认库文件是全平台的(armeabi,armeabi-v7a,x86等等),这就导致安装好的apk会按照平台的适配到指定目录下查找so文件。例如x86平台的就会去x86目录下查找了,之前的只包含的armeabi的so,就会找不到了。
解决办法:

defaultConfig {
            ......
        ndk {
            abiFilters "armeabi"//限定平台
        }

        multiDexEnabled true
    }

希望大家在引用第三方的包含jni的库的时候,能够注意下

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读