日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀] 最近在研究Android 2.3.3源代碼的C/C++層,需要對代碼進(jìn)行一些調(diào)試,但是奇怪的是,直接添加LOGD("XXXXXXXX");,使用logcat卻看不到任何輸出,換成LOGI、LOGV、LOGW、LOG

 最近在研究Android 2.3.3源代碼的C/C++層,需要對代碼進(jìn)行一些調(diào)試,但是奇怪的是,直接添加LOGD("XXXXXXXX");,使用logcat卻看不到任何輸出,換成LOGI、LOGV、LOGW、LOGE也沒有效果。于是在網(wǎng)上查找解決方法,經(jīng)過幾次試驗,終于找到了,現(xiàn)在貼到下面?zhèn)渫?/p>

第一步:在對應(yīng)的mk文件中加入:LOCAL_LDLIBS := -llog

第二步:在要使用LOG的cpp文件中加入:

#include

#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, "keymatch", __VA_ARGS__)

第三步:這樣就可以使用了:LOGD("我要看到的調(diào)試信息^_^");

這樣,在logcat端看到的輸出是:

D/keymatch( 32):我要看到的調(diào)試信息^_^

如果想改變輸出中的各項內(nèi)容,可以參考相應(yīng)顏色的標(biāo)示,比如,如果想定義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__)

當(dāng)然,如果不嫌麻煩,也可以直接使用__android_log_print函數(shù),而不define定義LOGxxx

如果還想了解更詳細(xì)的內(nèi)容,也可以參考這篇文章: 《在android 輸出log 信息 用于調(diào)試》

另外,有文章稱此方法在編譯動態(tài)庫的時候可能會出問題,會提示cannot find -llog的錯誤。意思是找不到liblog.so這個庫文件。

因此需要改成 LOCAL_LDLIBS:= -L$(SYSROOT)/usr/lib -llog 才可以正常編譯。但是我這邊編譯動態(tài)庫的時候,好像不用這樣改也行,沒發(fā)現(xiàn)編譯時提示“cannot find -llog”的錯誤。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉