要想在 jni native 代码中看打印信息,printf 是不行的,需使用 __android_log_print,如下所示。 __android_log_print(ANDROID_LOG_INFO, "ProjectName", "I am : %d/n", n);该函数与 printf 用法相似,使用格式字符。打印的结果通过 logcat 查看。 注意,使用时需要将头文件 android/log.h 包含进来。 为方便使用,往往定义一些宏 #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__) 在 Android.mk文件中需要加入: LOCAL_LDLIBS := -llog LOCAL_C_INCLUDES += system/core/include/cutils LOCAL_SHARED_LIBRARIES := libcutils android_LogPriority枚举类型,如下所示: typedef enum android_LogPriority { ANDROID_LOG_UNKNOWN = 0, ANDROID_LOG_DEFAULT, ANDROID_LOG_VERBOSE, ANDROID_LOG_DEBUG, ANDROID_LOG_INFO, ANDROID_LOG_WARN, ANDROID_LOG_ERROR, ANDROID_LOG_FATAL, ANDROID_LOG_SILENT, } android_LogPriority;
希望能为需要的朋友解决问题,
如果还不能解决可以联系QQ897703027,email: hongjiandao@163.com 欢迎大家交流cocos2d-x,C++等各方面的知识,或者创业团队求收留,本人目前在做cocos2dx 网游 |