我正在尝试制作一个ndk应用程序,但出现以下错误:java.lang.UnsatisfiedLinkError: Native method not found: com.example.hellondk.jni.HelloNDK.hello:()I我不理解,因为C++函数的名称与Java PypAgName和类相同。海伦#include <jni.h>JNIEXPORT jint JNICALL Java_com_example_hellondk_jni_HelloNDK_hello(JNIEnv* env, jobject o){ return (jint) 2;}爪哇岛package com.example.hellondk.jni;public class HelloNDK { public native int hello(); static { System.loadLibrary("HelloNDK"); }}安卓LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := HelloNDKLOCAL_SRC_FILES := HelloNDK.cppinclude $(BUILD_SHARED_LIBRARY) 最佳答案 您将其作为C++函数导出,但JNI链接器不理解C++名称的篡改,因此无法找到它。可以在没有C + name的情况下使用导出函数:extern "C" JNIEXPORT jint JNICALL Java_com_example_hellondk_jni_HelloNDK_hello(JNIEnv* env, jobject o){ return (jint) 2;}
07-27 20:49