Android Native C Log
来源:互联网 发布:php新闻发布系统coon 编辑:程序博客网 时间:2024/05/16 09:59
Android Native C Log
//Rocky@20110524
我们在做Android java的时候,为了调试我们经常使用Log.i,Log.d等等log函数,这样非常方便我们调试使用。但是
如果是我们在使用Native C在做的时候,实际上也是可以利用LOG来输出调试信息的。查看方式一样。
有两种方式:
方式一:
包含#include <utils/Log.h>
我们查看这个文件system/core/include/cutils/log.h
在开头发现
#ifndef LOG_TAG
#define LOG_TAG NULL
#endif
对于这个词我们的敏感度,我们知道,需要设置TAG信息。
那么我们可肯定是需要在使用这个log.h前,定义一个LOG_TAG
那么在Native C中我们常用的做法如下:
#define LOG_TAG "kris_ril"
#include <utils/Log.h>
然后使用LOGI,LOGD,LOGV,LOGW,LOGE来输出log信息,例如:
LOGI("Rocky:requestRadioPower=%d/n",onOff);
然后在adb shell 中使用
logcat -s kris_ril
即可查看到输入结果。
方式二:
第一步:在对应的mk文件中加入:LOCAL_LDLIBS := -llog
第二步:在要使用LOG的cpp文件中加入:
#include <android/log.h>
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, "keymatch", __VA_ARGS__)
第三步:这样就可以使用了:LOGD("我要看到的调试信息^_^");
这样,在logcat端看到的输出是:
D/keymatch( 32):我要看到的调试信息^_^
如果想改变输出中的各项内容,可以参考相应颜色的标示,比如,如果想定义LOGE,就可以把上面的ANDROID_LOG_DEBUG改成ANDROID_LOG_ERROR,同理,LOGI什么的也都以此类推:
#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_log_print函数,而不define定义LOGxxx
记录了以上两种方法,方便查阅。
- Android Native C Log
- Android Native C Log
- Android Native C Log
- Android Native C Log
- Android:Native C code打印android log
- Android native C 程序中输出LOG信息
- Android native crash log分析
- Android native crash log分析
- Android native crash log分析
- Android Native层log经验总结
- Android native c code log. c代码增加日志方法实例--Android4.0
- tombstone.c打印native crash log
- android native code crash log定位
- android native c++打印log输出
- Android Native/Tombstone Crash Log 详细分析
- Android Native/Tombstone Crash Log 详细分析
- Android Native/Tombstone Crash Log 详细分析
- Android Native/Tombstone Crash Log 详细分析
- day83(6.3)
- GDB回溯调试技术
- HDOJ 1253 胜利大逃亡
- 数据在内存中的存储(栈的数据存储分布)
- AS3.0 Object 作为关联数组
- Android Native C Log
- 理解 pkg-config 工具
- JavaScript函数与闭包
- 01背包
- 我想成为一名非计算机专业毕业的程序员
- unity3d引擎之个人理解
- 第一天报到,开始新里程
- 黑马程序员___StringBuilder&正则表达式 &Interger
- javabean的使用