android - 将.so文件添加到android studio时出现UnsatisfiedLinkError

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

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

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

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"

我的文件夹结构是:

enter image description here

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

编辑:

这是我的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'
}

最佳答案

试着改变这个:

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

为此:

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

关于android - 将.so文件添加到android studio时出现UnsatisfiedLinkError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33563962/

相关文章:

java - 如何使用LatLng从Google Place API查找最近的地方

android - 链接自定义.so库时,链接器失败

java - 奇怪的 java.lang.UnsatisfiedLinkError : Native method not found:

android - 如何为 Android 编译 C++14 代码?

android - libgdx声音未循环播放,直到完成才重新启动

android - 如何要求用户打开位置

java - 将对象传递给另一个 Activity (没有 Parcelable?)

gradle - Android Studio-离线模式不起作用

c++ - Android NDK 链接器 (GStreamer) - 链接器名称无效 -fuse-ld=gold

java - 应用程序因 java.lang.NumberFormatException : Invalid int 失败