稍微大一些的项目都会用到第三方库,所以不可避免的会有针对不同手机cpu架构的.so库文件
'x86', 'x86_64', 'mips', 'mips64' 'armeabi' ,'armeabi-v7a', 'arm64-v8a'
但是不是所有的第三方库都会适配所有的cpu架构,本人亲测采用一种降低性能却减少库文件的方式
就是只用armeabi-v7a库;有armeabi-v7a就把其他的都删掉,没有armeabi-v7a,把armeabi的文件移到armeabi-v7a中,把其他的都删除
下面就告诉大家怎么适配特定的cpu架构库 在主module .gradle加 ndk{},依赖的module也要添加
android{ ... defaultConfig { applicationId "XXXXXXX" minSdkVersion 11 targetSdkVersion 21 versionCode 126 versionName "1.2.6" ndk { //选择要添加的对应cpu类型的.so库。 // 还可以添加 'x86', 'x86_64', 'mips', 'mips64' abiFilters 'armeabi' //'armeabi-v7a', 'arm64-v8a' moduleName "app" } } }
abiFilters 就是过滤.so文件的方法;
如上配置就能让你的项目只打包armeabi的库文件;其他依赖module同样配置,最终效果就是你的app只适配armeabi CPU的机型;
打包的APK文件 libs下只有 armeabi的so文件;