Android java.lang.UnsatisfiedLinkError与本机库

时间:2015-10-14 07:40:34

标签: java android gradle java-native-interface native-code

我尝试使用一些本机库,并收到一些Exception,底层异常为UnsatisfiedLinkError:

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

我正在使用Android Studio + gradle。 看起来android无法在APK文件中找到本机库。

我的项目树:

file tree

我试图将它们放在“jniLibs”目录中,但它对我没有帮助。我想我忘了在gradle文件中写一些东西,但我无法弄清楚是什么。

2 个答案:

答案 0 :(得分:0)

在“src / main /”中创建文件夹“jniLibs”,并将所有.so文件放在“src / main / jniLibs”文件夹中。在您的屏幕截图中,我找不到“jniLibs”。

答案 1 :(得分:0)

请按照以下步骤操作:

  1. 在位于的local.properties文件中添加NDK的路径 项目的根目录。
  2. 将这些行添加到您的app build.grade文件中:

    sourceSets {     主{          jni.srcDirs = [" libs"]          }        }

  3. 从您的应用中删除旧的.so文件。

  4. 转到应用项目的目录src / jni目录并运行命令:

  5.   

    PATH_TO_YOUR_NDK / NDK-构建

    项目正在编译,你的lib(.so)在你的模块的目录libs下。

    5.您的主应用程序中的库应该类似于以下结构。

    enter image description here

    请参考访问this链接.. !!

    谢谢.. !!