c++ log 打印android_如何在ANDROID JNI 的C++中打Log
http://blog.csdn.net/pkigavin/article/details/8583537
最近在研究Android 2.3.3源代碼的C/C++層,需要對代碼進行一些調試,但是奇怪的是,直接添加LOGD("XXXXXXXX");,使用logcat卻看不到任何輸出,換成LOGI、LOGV、LOGW、LOGE也沒有效果。于是在網上查找解決方法,經過幾次試驗,終于找到了,現在貼到下面備忘:
第一步:在對應的mk文件中加入:LOCAL_LDLIBS := -llog
第二步:在要使用LOG的cpp文件中加入:
#include
#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
另外,有文章稱此方法在編譯動態庫的時候可能會出問題,會提示cannot find -llog的錯誤。意思是找不到liblog.so這個庫文件。
因此需要改成?LOCAL_LDLIBS:=? -L$(SYSROOT)/usr/lib -llog?才可以正常編譯。但是我這邊編譯動態庫的時候,好像不用這樣改也行,沒發現編譯時提示“cannot find -llog”的錯誤。
[Android]在代碼混淆中關閉 Log
-assumenosideeffects class android.util.Log{ public static *** d(...); public static *** e(...); }
Android jni簡便開發流程
中介紹了開發jni helloworld的步驟,本文將介紹jni簡便開發流程 ① 寫java代碼 native 聲明本地方法 ② 添加本地支 ...
android-----JNI中的log打印
1. 導入log頭文件 在你使用的 .c/ .cpp 文件中 導入 log.h 頭文件 #include 2.在Android.mk 中 加上 LOCAL_L ...
android-----JNI中的log打印【轉】
本文轉載自:http://blog.csdn.net/zengraoli/article/details/11644815 1. 導入log頭文件 在你使用的 .c/ .cpp 文件中 導入 log. ...
如何在Android中使用OpenCV
如何在Android中使用OpenCV 2011-09-21 10:22:35 標簽:Android 移動開發 JNI OpenCV NDK 原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始 ...
[Android Pro] Android studio jni中調用Log輸出調試信息
reference to : http://www.linuxidc.com/Linux/2014-02/96341.htm Android 開發中,java 可以方便的使用調試信息Log.i, Lo ...
【原創】如何在Android中為TextView動態設置drawableLeft等
如何在Android中為TextView動態設置drawableLeft等 ? 兩種方式: ? 方式1:手動設置固有邊界 Drawable drawable = getResources().getD ...
如何在Android應用程序中使用傳感器模擬器SensorSimulator
總結
以上是生活随笔為你收集整理的c++ log 打印android_如何在ANDROID JNI 的C++中打Log的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: wekan 看板系统(仿trello)0
- 下一篇: 2021葫芦岛市第六高级中学高考成绩查询