1、Java文件中的所有的文件名、包名、类名、方法名,不要有_(下划线),这样会与 JNI中的 方法名混淆。
2、多个c文件中含有 jni方法,则需要添加到
LOCAL_SRC_FILES := ndk_first.c math.c
3、在jni文件中使用日志需要配置如下:
#include <android/log.h> #define LOGV(...) __android_log_print(ANDROID_LOG_VERBOSE, "ProjectName", __VA_ARGS__) #define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG , "ProjectName", __VA_ARGS__) #define LOGI(...) __android_log_print(ANDROID_LOG_INFO , "ProjectName", __VA_ARGS__) #define LOGW(...) __android_log_print(ANDROID_LOG_WARN , "ProjectName", __VA_ARGS__) #define LOGE(...) __android_log_print(ANDROID_LOG_ERROR , "ProjectName", __VA_ARGS__) #define LOGE(...) __android_log_print(ANDROID_LOG_ERROR , "xxx %d \n", __VA_ARGS__)
4、并且需要在mk文件中配置
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := hello-jni LOCAL_CFLAGS := -DANDROID_NDK //*** LOCAL_SRC_FILES := \ hello-jni.c\ /** 添加*/ LOCAL_LDLIBS := -llog include $(BUILD_SHARED_LIBRARY)