【问题标题】:Android java.lang.UnsatisfiedLinkError with native libraryAndroid java.lang.UnsatisfiedLinkError 与本机库
【发布时间】:2015-10-14 07:40:33
【问题描述】:

我尝试使用一些本机库并收到一些带有底层异常 UnsatisfiedLinkError 的异常:

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

我正在使用 Android Studio + gradle。 android 好像在 APK 文件中找不到原生库。

我的项目树:

我试图将它们放在“jniLibs”目录中,但这对我没有帮助。我想我忘记在 gradle 文件中写一些东西,但我不知道是什么。

【问题讨论】:

  • 你在使用 experimental 插件吗?

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


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    请按以下步骤操作:

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

      源集{ 主要的 { jni.srcDirs = [“库”] } }

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

    4. 进入你的app项目的src/jni目录,运行命令:

    PATH_TO_YOUR_NDK/ndk-build

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

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

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

    谢谢..!!

    【讨论】:

      猜你喜欢
      • 2015-05-31
      • 2015-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多