"UnsatisfiedLinkError:未找到本机方法"但是命名正确吗? [英] "UnsatisfiedLinkError: Native method not found" but correct naming?
本文介绍了"UnsatisfiedLinkError:未找到本机方法"但是命名正确吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
找不到我的本机方法,也无法解决.
My native method cannot be found and I cannot solve it.
java代码:
package org.cocos2dx.cppemptytest;
public class TestJNI {
static {
System.loadLibrary("cpp_empty_test");
}
public native String moveto();
}
本机代码:
#include "AppDelegate.h"
#include "platform/android/jni/JniHelper.h"
#include <jni.h>
#include <android/log.h>
#include <stdlib.h>
#include "cocos2d.h"
#define LOG_TAG "main"
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG,LOG_TAG,__VA_ARGS__)
using namespace cocos2d;
AppDelegate *pAppDelegate;
void cocos_android_app_init (JNIEnv* env, jobject thiz) {
LOGD("cocos_android_app_init");
pAppDelegate = new AppDelegate();
}
extern "C" {
JNIEXPORT jstring JNICALL Java_org_cocos2dx_cppemptytest_TestJNI_moveto
( JNIEnv* env, jobject thiz){
return env->NewStringUTF("default");
}
}
在Android.mk中
in Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := cpp_empty_test
LOCAL_MODULE_FILENAME := libcpp_empty_test
LOCAL_SRC_FILES := main.cpp \
../../Classes/AppDelegate.cpp \
../../Classes/HelloWorldScene.cpp
LOCAL_LDLIBS := -llog
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \
$(LOCAL_PATH)/../../../../extensions \
$(LOCAL_PATH)/../../../.. \
$(LOCAL_PATH)/../../../../cocos/editor-support
LOCAL_STATIC_LIBRARIES := cocos2dx_static
include $(BUILD_SHARED_LIBRARY)
$(call import-module,.)
输出给出了不满意的链接错误,但是我猜我的命名是正确的.还有其他原因导致此错误发生吗?
Output gives unsatisfied link error, but my naming is correct I guess. Are there any other reasons why this error occurrs?
E/AndroidRuntime(30310): java.lang.UnsatisfiedLinkError:
Native method not found:
org.cocos2dx.cppemptytest.TestJNI.moveto:()Ljava/lang/String;
推荐答案
尝试将您的 Android.mk 更改为此:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libcpp_empty_test
LOCAL_SRC_FILES := main.cpp
LOCAL_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY)
这篇关于"UnsatisfiedLinkError:未找到本机方法"但是命名正确吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文