天天看点

关于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架构"
  }

}
           

保存你需要的。

这样应该就能解决问题了!