Android Studio指定引用jnilibs 特定CPU架構的so庫文件


稍微大一些的項目都會用到第三方庫,所以不可避免的會有針對不同手機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文件;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM