小编Kur*_*ran的帖子

未找到Android NDK Native方法错误

我正在尝试使用本机代码构建android应用程序,所以我想测试ndk是否成功运行.当我尝试运行我的第一个hello world项目日志cat时,

01-21 23:30:06.780: E/AndroidRuntime(939): FATAL EXCEPTION: main
01-21 23:30:06.780: E/AndroidRuntime(939): java.lang.UnsatisfiedLinkError: 
Native method not found: com.example.ndktesting.MainActivity.invokeNativeFunction:()Ljava/lang/String;
Run Code Online (Sandbox Code Playgroud)

我检查了一些stackoverflow的答案,但找不到我的答案.这是我的java代码,我正在使用android ndk r8d版本.

//ndktest.c

#include <string.h>
#include <jni.h>

extern "C"{
    JNIEXPORT jstring JNICALL   Java_com_example_ndktesting_ndktest_MainActivity_invokeNativeFunction(JNIEnv* env, jobject  thiz)
};

JNIEXPORT jstring JNICALL   Java_com_example_ndktesting_ndktest_MainActivity_invokeNativeFunction(JNIEnv* env, jobject  thiz){
    return (*env)->NewStringUTF(env, "Hello from native code!");
}
Run Code Online (Sandbox Code Playgroud)

这是我的MainActivity java代码

package com.example.ndktesting;

public class MainActivity extends Activity {    
    //declare the native code function - must match ndktest.c
    private native String invokeNativeFunction();

    public native String  unimplementedinvokeNativeFunction();

    // load the library …
Run Code Online (Sandbox Code Playgroud)

android android-ndk

15
推荐指数
1
解决办法
3万
查看次数

标签 统计

android ×1

android-ndk ×1