天天看點

關于Android Studio加載so檔案的問題

關于加載so檔案,Android studio确實很坑,網上查找了很多資料,方法五花八門,一直都沒有找到适合自己的。

今天将自己解決問題的辦法記錄下

網上的方法都提到在build.gradle配置檔案中android下添加

sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }
           

這個沒有什麼錯,關鍵是你的so檔案的位置:請将so檔案放在項目的libs檔案夾下

另外需要注意的是cpu架構,使用方法

private void get() {
        String[] abis = new String[]{};
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            abis = Build.SUPPORTED_ABIS;
        } else {
            abis = new String[]{Build.CPU_ABI, Build.CPU_ABI2};
        }
        StringBuilder abiStr = new StringBuilder();
        for (String abi : abis) {
            abiStr.append(abi);
            abiStr.append(',');
        }
        XL.e(abiStr.toString());
    }
           

得到本機相容的cpu架構。通過在build.gralde裡面配置

defaultConfig {
    ...
    ndk {
    abiFilters "armeabi-v7a",“xxcpu架構"
  }

}
           

儲存你需要的。

這樣應該就能解決問題了!