2013-03-13 59 views
3

我感到一個錯誤,使用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) 
+0

您可以加入在logcat中看到錯誤消息? – fadden 2013-03-13 23:46:07

回答

-4

通過ndk_build再次打造的.so文件

+0

你是怎麼做到的? – 2016-08-04 18:06:27