Android Studio指定引用jnilibs 特定CPU架構的so庫文件
阿新 • • 發佈:2017-09-04
文件 jni adl 性能 沒有 1.2 x86_64 apk andro
稍微大一些的項目都會用到第三方庫,所以不可避免的會有針對不同手機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文件;Android Studio指定引用jnilibs 特定CPU架構的so庫文件