【问题标题】:UnsatisfiedLinkError when adding .so files to android studio将.so文件添加到android studio时出现UnsatisfiedLinkError
【发布时间】:2016-02-07 10:23:34
【问题描述】:

我正在尝试在我的 android studio 项目中包含 https://github.com/GerardSoleCa/Robosodium。我正在运行 Android Studio 1.4.1

我用已编译的 .so 文件创建了一个 jniLibs 文件夹。我在我的主要活动中初始化了这个库,如下所示:

static {
    System.loadLibrary("libkaliumjni");
}

当我运行项目时,我得到了这个:

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/be.example.libtest-1/base.apk"],nativeLibraryDirectories=[/data/app/be.example.libtest-1/lib/x86, /vendor/lib, /system/lib]]] couldn't find "liblibkaliumjni.so"

我的文件夹结构是:

有人可以帮我解决这个问题吗?

编辑:

这是我的 build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "be.example.libtest"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.0'
    compile 'com.android.support:design:23.1.0'
}

【问题讨论】:

  • 尝试在 gradle 文件的 defaultconfig 块中添加 ndk { abiFilters "armeabi-v7a", "x86" } 行
  • 还是同样的错误;
  • 你能把你的 build.gradle 文件放进去吗?此文件配置加载 .so 库的路径...另外,我可以检查一下在您的代码中将System.loadLibrary
  • 我在某些设备中使用 aviary 库时遇到了同样的错误。那条线帮助了我
  • 尝试静态 { System.loadLibrary("kaliumjni"); }

标签: android android-studio android-ndk java-native-interface


【解决方案1】:

尝试改变这一点:

static {
    System.loadLibrary("libkaliumjni");
}

到这里:

static {
    System.loadLibrary("kaliumjni");
}

【讨论】:

  • 这并不奇怪,按照惯例,'lib' 前缀是自动添加的 ;)
  • 嘿,我遇到了与 op 相同的错误,但我的 loadLibrary 拼写正确。我检查了apk,由于某种原因,.so 不在其中。我们的错误之间的一个区别是我的 Android.mk 正在生成一个 libs 文件夹,而不是一个 jniLibs 文件夹。
猜你喜欢
  • 2014-08-11
  • 2016-03-04
  • 1970-01-01
  • 2015-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多