您的位置:首页 > 移动开发 > Android开发

android studio java.lang.UnsatisfiedLinkError: Couldn't load ....: findLibrary returned null.

2014-12-09 09:32 232 查看
在使用android开发时,经常会需要使用一写.so文件,但是android studio和eclipse的处理方法是不一样的。

在android studio中并不像在eclipse中哪样使用如下就可以了:

static{
try{
System.loadLibrary("decodecjni");
}catch(Exception e){
Log.e("loadlibrary","Loading library error:"+e.toString());
}
}


这样在android studio中会出现标题的错误,解决的方法是在android studio项目下的build.gradle文件立增加:

task copyNativeLibs(type: Copy) {
from fileTree(dir: 'libs', include: 'armeabi/*.so') into 'build/lib'
}
tasks.withType(Compile) {
compileTask -> compileTask.dependsOn copyNativeLibs
}
clean.dependsOn 'cleanCopyNativeLibs'
tasks.withType(com.android.build.gradle.tasks.PackageApplication) { pkgTask ->
pkgTask.jniFolders = [new File(buildDir, 'lib')]
}
当然了增加了这代码,在java中还是需要System.loadLibrary("**.so");否则还会出现错误。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐