Logging
c/c++添加:
#include <android/log.h>
Android.mk添加:
LOCAL_LDLIBS += −llog
log等级:
typedef enum android_LogPriority {
...
ANDROID_LOG_VERBOSE,
ANDROID_LOG_DEBUG,
ANDROID_LOG_INFO,
ANDROID_LOG_WARN,
ANDROID_LOG_ERROR,
ANDROID_LOG_FATAL,
...
} android_LogPriority;
发送一个简单的字符串log:
参数为日志等级,日志内容,tag标签
__android_log_write(ANDROID_LOG_WARN, "hello-jni", "Warning log.");
发送一个格式化字符串
__android_log_print(ANDROID_LOG_ERROR, "hello-jni","Failed with errno %d", errno);
__android_log_vprint类似__android_log_print,传参
void log_verbose(const char* format, ...)
{
va_list args;
va_start(args, format);
__android_log_vprint(ANDROID_LOG_VERBOSE, "hello-jni", format, args);
va_end(args);
}
...
void example()
{
log_verbose("Errno is now %d", errno);
}
__android_log_assert记录断言失败,不需要类型
if (0 != errno)
{
__android_log_assert("0 != errno", "hello-jni",
"There is an error.");
}