今天试着去编译打包so库出现,在最后加载时出现了java.lang.UnsatisfiedLinkError: Couldn't load XXX indLibrary returned null
,找不到so库,检查了一番原来是因为我的so库没有放在android studio 默认加载路径 src\main\jniLibs
下,而我的so文件放在了so生成目录libs
下,导致找不到so库。
解决方法有如下两种:
1:将so库放到jniLibs目录下,在src/main下新建jnilibs文件夹,并将so文件拷贝至此
2:在app的build.gradle文件中修改jniLibs的默认加载路径
//在Android标签内添加如下:
sourceSets {
main {
jniLibs.srcDirs = ['libs'] //libs为上图我存放so库的文件夹
}
}
最后附上我在NDK编译时遇到的另一个问题
Your project contains C++ files but it is not using a supported native build的解决方案
以及Android studio编写第一个NDK工程的过程详解的链接