Android Studio 打包CPU类型兼容

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/mengbjy/article/details/53518289

工程里引用了几个sdk,打包成功,运行的时候报错,提示so库找不到。

排查原因:自己的工程只有armeabi-v7a的so库,但引用的SDK中有arm64-v8a的库。

打包APK后,lib下会出现arm64-v8a和armeabi-v7a两个文件夹。当运行在arm64位处理器上时Android发现有arm64-v8a,就会直接加载这个文件夹的so库。但自己工程的代码只兼容了v7,也就是自己工程的so库只在armeabi-v7a文件夹下存在。所以就蹦了

解决方法,1、增加arm64位支持,加个arm64的so库,但底层不是自己开发的。

2、只打包制定类型的so库,在主工程module的build.gradle中增加

ndk {

 abiFilter("armeabi-v7a") 

}

让程序只打包指定类型的so库,问题解决。

------

打包多类型设置:

ndk {
    abiFilter("armeabi-v7a")
    abiFilter("arm64-v8a")
}



展开阅读全文

没有更多推荐了,返回首页