android ndk jni No implementation found 错误

标签 android android-ndk java-native-interface

我正在使用 android 并尝试在我的应用程序中使用一些 native 代码。

这是应用程序代码的框架:

package A.B;
/*
import statements
*/

public class C extends Activity{

public void onCreate(...){
    ....
    foo();
    ....
}

public int foo(){
    .....
    data(a, b);
    .....
}

public int data(a, b){
    GetValues(a, b);
}

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

public native int GetValues(int[] a, int b);
}

本地方法签名是这样的:

JNIEXPORT jint JNICALL

Java_A_B_C_GetValues(JNIEnv *env, jobject obj, jintArray arr, jint b){

....

....

} 

运行 logcat 时显示: W/dalvikvm(799):未找到原生 LA/B/C 的实现;.GetValues ([IJ)I

ndk 文档没有严格提到创建头文件,所以我没有

android.mk 文件的内容:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := baz
LOCAL_SRC_FILES := baz.cpp

include $(BUILD_SHARED_LIBRARY)

提前致谢。

最佳答案

由于您的 native 文件是 .cpp 文件,我猜您将需要使用 extern "C"。 WhyWhy

关于android ndk jni No implementation found 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10814143/

相关文章:

android - 如何从单个editText中删除焦点

android - 从 android 应用程序运行 C 二进制文件 : particulare case

java - 如何在native中写/读直接的ByteBuffer?

java - 使用 undefined symbol 加载 JNI 时崩溃

java - Android JNI 中的 native 崩溃 SIGSEGV

android - 如何使用 Places SDK for Android 获取城市中的旅游目的地?

android - Vuforia Videoplayback 翻转和镜像视频

android - Android 上的运算符 new 不会抛出 bad_alloc

Android Studio 无法选择构建变体

android - 如何使用/合并 CPP 文件到 Android 项目?