最近在弄 ndk jni,记录下调试技巧
1.在代码中加入
#include <android/log.h>
#define LOG_TAG “jnidebug”
#define LOGV(...) __android_log_print(ANDROID_LOG_VERBOSE, LOG_TAG, __VA_ARGS__)
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG , LOG_TAG, __VA_ARGS__)
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO , LOG_TAG, __VA_ARGS__)
#define LOGW(...) __android_log_print(ANDROID_LOG_WARN , LOG_TAG, __VA_ARGS__)
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR , LOG_TAG, __VA_ARGS__)
__android_log_print 这个函数有点像内核的printk函数的用法有ANDROID_LOG_VERBOSE ,ANDROID_LOG_DEBUG等 等级,
LOG_TAG 定义log tag用来在logcat中新建过滤器输出,便于查看
2.在Android.mk 中加入(Android.mk为可以理解为安卓中的Makefile)
LOCAL_LDLIBS := -llog
或者 LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog (-L 参数是gcc 中手动指定链接库路径 -llog -l 为指定链接库的名字 即liblog.so,-l 后面接的是lib**.so,中的**)
3.直接使用上面给定义的5个宏,像prinf函数一样使用,再结合logcat过滤下输出就可以了