android - java.lang.UnsatisfiedLinkError 错误

标签 android android-ndk

java.lang.UnsatisfiedLinkError

我正在使用 hello-jni 示例,无论出于何种原因,我在尝试调用 hello-jni 库时收到 java.lang.UnsatisfiedLinkError。任何想法为什么?我必须在某处设置我的路径吗?

在 HelloJni.java 中:

public native String  stringFromJNI();

static {
    System.loadLibrary("hello-jni");
}

在 hello-jni.c 中:

jstring
Java_com_bdunlay_hellojni_HelloJni_stringFromJNI( JNIEnv* env,
                                                  jobject thiz )
{
    return (*env)->NewStringUTF(env, "Hello from JNI !");
}

exception trace

.so 文件是... project_root/libs/armeabi/libhello-jni.so

最佳答案

您的 native 没有 JNIEXPORT。它通常在头文件中声明函数声明。

我们将使用 javah -jni 来生成 header

关于android - java.lang.UnsatisfiedLinkError 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4813336/

相关文章:

android - 我在用户注册时发送推送通知,它只向注册用户发送通知,我可以将其更改为每个使用该应用程序的人吗?

Android;从 SD 卡中选择歌曲并返回路径时出现问题

java - Android Studio 2.2,Gradle 构建失败,出现 java.lang.OutOfMemoryError : unable to create new native thread

macos - 无法本地化从 Homebrew 软件安装的android-ndk

C++ 正则表达式在 Android NDK 中不起作用

android - 更正 Android SQLite 中 GLOB 空格的语法

android - 如何正确过滤包替换广播

android - 使用 Android NDK 构建 VPNC

java - Android NDK 性能优于常规 Java 代码

c++ - 什么是 SWIG 警告 503?