Android Studio 打包CPU类型兼容

工程里引用了几个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")
}



猜你喜欢

转载自blog.csdn.net/mengbjy/article/details/53518289
今日推荐