android,NDK, write logs to a file
android,NDK, write logs to a file
I have this lines in my code (.c) :
#define LOGI(x...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG,x)#define LOGE(x...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG,x)
I use them for outputing in LogCat, how to modify these lines to write messages to a file, or how can I get certain messages from LogCat in my code ?
If this is for debugging purpose, I use this macro:
#define WRITE_LOG(s, ...) do { \FILE *f = fopen("/data/local/tmp/log.txt", "a+"); \ fprintf(f, s, __VA_ARGS__); \ fflush(f); \ fclose(f); \} while (0)
It has the advantage of being totally independent from the Android SDK/NDK, which allows to debug native code without having to modify all your build system and includes in order to link on the logcat functions.
A small warning though: I've taken the habit of creating the file using touch /data/local/tmp/log.txt
in adb-shell before launching the program, as in most cases the system prevents you from creating new files. And by the way, the location /data/local/tmp/ has the advantage of being accessible even without root privileges.
| If you are under an application, you can use /data/data// so dry lab: should work. |
0 down vote | If you are under an application, you can use /data/data// so dry lab: should work. |
更多相关文章
- 代码中设置drawableleft
- android 3.0 隐藏 系统标题栏
- Android开发中activity切换动画的实现
- Android(安卓)学习 笔记_05. 文件下载
- Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
- 技术博客汇总
- android 2.3 wifi (一)
- AndRoid Notification的清空和修改
- Android中的Chronometer