我感到一個錯誤,使用jni ...我有一個簡單的本地方法在android活動類和創建標題爲該實現c文件爲...無法發現錯誤請幫助沒有實現在ndk中的本機發現
下面是我的文件
活動
static{
System.loadLibrary("fluidsynth");
}
private native String textOverjni();
頭文件
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class com_example_fluidsynthtest_MyFluidSynthO */
#ifndef _Included_com_example_fluidsynthtest_MyFluidSynthO
#define _Included_com_example_fluidsynthtest_MyFluidSynthO
#ifdef __cplusplus
extern "C" {
#endif
#undef com_example_fluidsynthtest_MyFluidSynthO_MODE_PRIVATE
#define com_example_fluidsynthtest_MyFluidSynthO_MODE_PRIVATE 0L
#undef com_example_fluidsynthtest_MyFluidSynthO_MODE_WORLD_READABLE
#define com_example_fluidsynthtest_MyFluidSynthO_MODE_WORLD_READABLE 1L
#undef com_example_fluidsynthtest_MyFluidSynthO_MODE_WORLD_WRITEABLE
#define com_example_fluidsynthtest_MyFluidSynthO_MODE_WORLD_WRITEABLE 2L
#undef com_example_fluidsynthtest_MyFluidSynthO_MODE_APPEND
#define com_example_fluidsynthtest_MyFluidSynthO_MODE_APPEND 32768L
#undef com_example_fluidsynthtest_MyFluidSynthO_BIND_AUTO_CREATE
#define com_example_fluidsynthtest_MyFluidSynthO_BIND_AUTO_CREATE 1L
#undef com_example_fluidsynthtest_MyFluidSynthO_BIND_DEBUG_UNBIND
#define com_example_fluidsynthtest_MyFluidSynthO_BIND_DEBUG_UNBIND 2L
#undef com_example_fluidsynthtest_MyFluidSynthO_BIND_NOT_FOREGROUND
#define com_example_fluidsynthtest_MyFluidSynthO_BIND_NOT_FOREGROUND 4L
#undef com_example_fluidsynthtest_MyFluidSynthO_CONTEXT_INCLUDE_CODE
#define com_example_fluidsynthtest_MyFluidSynthO_CONTEXT_INCLUDE_CODE 1L
#undef com_example_fluidsynthtest_MyFluidSynthO_CONTEXT_IGNORE_SECURITY
#define com_example_fluidsynthtest_MyFluidSynthO_CONTEXT_IGNORE_SECURITY 2L
#undef com_example_fluidsynthtest_MyFluidSynthO_CONTEXT_RESTRICTED
#define com_example_fluidsynthtest_MyFluidSynthO_CONTEXT_RESTRICTED 4L
#undef com_example_fluidsynthtest_MyFluidSynthO_RESULT_CANCELED
#define com_example_fluidsynthtest_MyFluidSynthO_RESULT_CANCELED 0L
#undef com_example_fluidsynthtest_MyFluidSynthO_RESULT_OK
#define com_example_fluidsynthtest_MyFluidSynthO_RESULT_OK -1L
#undef com_example_fluidsynthtest_MyFluidSynthO_RESULT_FIRST_USER
#define com_example_fluidsynthtest_MyFluidSynthO_RESULT_FIRST_USER 1L
#undef com_example_fluidsynthtest_MyFluidSynthO_DEFAULT_KEYS_DISABLE
#define com_example_fluidsynthtest_MyFluidSynthO_DEFAULT_KEYS_DISABLE 0L
#undef com_example_fluidsynthtest_MyFluidSynthO_DEFAULT_KEYS_DIALER
#define com_example_fluidsynthtest_MyFluidSynthO_DEFAULT_KEYS_DIALER 1L
#undef com_example_fluidsynthtest_MyFluidSynthO_DEFAULT_KEYS_SHORTCUT
#define com_example_fluidsynthtest_MyFluidSynthO_DEFAULT_KEYS_SHORTCUT 2L
#undef com_example_fluidsynthtest_MyFluidSynthO_DEFAULT_KEYS_SEARCH_LOCAL
#define com_example_fluidsynthtest_MyFluidSynthO_DEFAULT_KEYS_SEARCH_LOCAL 3L
#undef com_example_fluidsynthtest_MyFluidSynthO_DEFAULT_KEYS_SEARCH_GLOBAL
#define com_example_fluidsynthtest_MyFluidSynthO_DEFAULT_KEYS_SEARCH_GLOBAL 4L
/*
* Class: com_example_fluidsynthtest_MyFluidSynthO
* Method: textOverjni
* Signature:()Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_com_example_fluidsynthtest_MyFluidSynthO_textOverjni
(JNIEnv *, jobject);
#ifdef __cplusplus
}
#endif
#endif
C文件
#include <jni.h>
#include <string.h>
#include <MyFluidSynthO.h>
JNIEXPORT jstring Java_com_example_fluidsynthtest_MyFluidSynthO_textOverjni
(JNIEnv* env, jobject obj){
return (*env)->NewStringUTF(env, "Hello Worlddd from MyFluidSynth1 !");
}
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := fluidsynth
#LOCAL_C_INCLUDES +:= $(LOCAL_PATH)/include\
$(LOCAL_PATH)/include/fluidsynth
LOCAL_SRC_FILES +:= \
MyFluidSynthO.c
#LOCAL_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY)
#include $(CLEAR_VARS)
#include $(BUILD_SHARED_LIBRARY)
您可以加入在logcat中看到錯誤消息? – fadden 2013-03-13 23:46:07