关于加载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架构"
}
}
保存你需要的。
这样应该就能解决问题了!