场景:Android studio 编译我的项目(项目中有运用的jni),编译没有报错,正常的安装到我的机器上,可是运行的时候就报错,没有找到*.so文件...
可是明明在libs,目录下有加相关的文件?
参考网上大部分的做法,新建jniLibs文件夹把有关的文件都放到这个文件中,例如
这样对于目录结构是默认的情况
这样就搞定了。
可是我的项目是从eclipse下导出来的目录结构同上方不一样,如下:
我也加入的jniLibs这个目录,包相关的文件往这里放,结构运行到机器上还是不行,还是找不到*.so文件。。。
目录结构我又不想去改变,后来我在看build.gradle文件中有sourceSets这个设置,就尝试的往这里加参数,果然就可以正常的运行了
代码:
sourceSets { main { manifest.srcFile ‘AndroidManifest.xml‘ java.srcDirs = [‘src‘] resources.srcDirs = [‘src‘] aidl.srcDirs = [‘src‘] renderscript.srcDirs = [‘src‘] res.srcDirs = [‘res‘] assets.srcDirs = [‘assets‘] // 关键是这句 jniLibs.srcDirs = [‘jniLibs‘] } debug.setRoot(‘build-types/debug‘) release.setRoot(‘build-types/release‘) }
时间: 2024-12-17 23:45:04