jniLibs建了,so文件放了,为什么报错找不到so库?首先,检查一下jniLibs文件夹的位置对不对。在Android studio的project模式情况下,jniLibs是在main文件夹下,和java和res文件夹同一级,如图:
这么设置了,为什么还是找不到呢?那么检查一下,项目中app的build.gradle中你是否添加了下面的代码块,位置如图:
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
如果添加了,那么你把jniLibs文件夹下的文件全部拷贝到libs文件夹下,删掉jniLibs文件夹,clean一下,再运行项目就可以了。为什么呢?因为上面的代码块就是把库文件的位置转移到了libs。你现在把Android studio的模式从project调到Android再看,libs文件夹变成了jniLibs文件夹,如下图:
也就是说当设置了sourceSets 上面的代码块,不需要再新建jniLibs,直接把so文件放到libs中,因为你切换到Android模式,libs就是以jniLibs的形式显示。