android雜記:C++文件的添加log方法分享
#include <utils/Log.h>
//或者
#include <cutils/Log.h>
這個(gè)時(shí)候可以使用ALOGE/ALOGI/ALOGW 等方法打印出log
不過有些地方不能這么使用,因?yàn)橐蕾噇ibutils libctuils庫
在mk文件見添加如下依賴編譯即可
#LOCAL_MODULE := ... ...
#base_intermediates := $(call local-intermediates-dir) //該行之下添加,這個(gè)貌似是查找依賴文件
LOCAL_SHARED_LIBRARIES += \
libutils libcutils
... ...
include $(BUILD_SHARED_LIBRARY) //該行之上,這時(shí)候是開始編譯
2.通常的堆棧
android::CallStack stack;
stack.update(1);
stack.dump("");
這個(gè)需要加個(gè)頭文件,不過要特別注意一個(gè)問題,這個(gè)頭必須加在所有頭的末尾,不然用不了滴,尤其是看android源碼里webkit的時(shí)候。需要加的頭文件如下:
#include <utils/CallStack.h>
今天有事,后續(xù)補(bǔ)全,如果大家有更好的,或者特殊的情況,歡迎推薦
3.C++另類堆棧
這個(gè)方法是可文件控制的。通過對(duì)android設(shè)備中的文件讀寫,然后空指針賦值,這樣就可以達(dá)到文件控制的目的
該方法好處只要是C、C++文件均可添加此log,無依賴,便捷!也有個(gè)不好處,log只能運(yùn)行到你添加的地方,因?yàn)楸缼炝?,后面的無法運(yùn)行了。
實(shí)現(xiàn)代碼如下:
FILE *fp = NULL; //需要注意
fp = fopen("data/test", "r");
if(NULL == fp)
{
return false; //需要返回值時(shí)使用
} esle {
fclose(fp);
int *fp = NULL;
*fp = 100; //空指針賦值出錯(cuò),小樣就它錯(cuò)了
return false; //需要返回值時(shí)使用
}
一般崩庫了是看不到堆棧的,我們可以通過反匯編來查看具體的堆棧。
在android里編譯出的庫有兩套:一套無符號(hào)的,是查看不了的,另一套是有符號(hào)的,我們查看的就是這套,
有符號(hào)的編譯出來后是在路徑(\out\target\product\generic\symbols\system\lib)下
android中自帶有arm的反匯編工具,在設(shè)置后編譯環(huán)境后就可以正常使用了,命令如下:
arm-eabi-addr2line -f -e **.so 地址1 地址2 ... ...
- Android開發(fā)筆記之:Log圖文詳解(Log.v,Log.d,Log.i,Log.w,Log.e)
- Android系統(tǒng)開發(fā)中l(wèi)og的使用方法及簡(jiǎn)單的原理
- android輕松管理安卓應(yīng)用中的log日志 發(fā)布應(yīng)用時(shí)log日志全部去掉的方法
- Android將應(yīng)用調(diào)試log信息保存在SD卡的方法
- Android編程之基于Log演示一個(gè)activity生命周期實(shí)例詳解
- Android 實(shí)現(xiàn)自己的LOG信息
- microlog4android將Android Log日志寫到SD卡文件中實(shí)現(xiàn)方法
- Android 日志工具(log)的使用方法
- Android開發(fā)實(shí)現(xiàn)的Log統(tǒng)一管理類
相關(guān)文章
MT6589平臺(tái)通話錄音時(shí)播放提示音給對(duì)方功能的具體實(shí)現(xiàn)
MT6589平臺(tái)通話錄音時(shí)如何播放提示音給對(duì)方,可以通過修改以下文件即可,希望對(duì)你有所幫助2013-06-06Android實(shí)戰(zhàn)教程第二篇之簡(jiǎn)單實(shí)現(xiàn)兩種進(jìn)度條效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)戰(zhàn)教程第二篇,簡(jiǎn)單實(shí)現(xiàn)兩種進(jìn)度條效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11淺談onTouch先執(zhí)行,還是onClick執(zhí)行(詳解)
onTouch先執(zhí)行,還是onClick執(zhí)行?下面小編就為大家?guī)硪黄獪\談onTouch先執(zhí)行,還是onClick執(zhí)行(詳解)。希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2017-03-03Android開發(fā)實(shí)現(xiàn)的計(jì)時(shí)器功能示例
這篇文章主要介紹了Android開發(fā)實(shí)現(xiàn)的計(jì)時(shí)器功能,涉及Android開發(fā)中的計(jì)時(shí)器相關(guān)組件布局、調(diào)用、事件響應(yīng)等相關(guān)操作技巧,需要的朋友可以參考下2019-04-04android實(shí)現(xiàn)定時(shí)拍照并發(fā)送微博功能
這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)定時(shí)拍照并發(fā)送微博功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06Android Retrofit和Rxjava的網(wǎng)絡(luò)請(qǐng)求
這篇文章主要介紹了Android Retrofit和Rxjava的網(wǎng)絡(luò)請(qǐng)求的相關(guān)資料,需要的朋友可以參考下2017-03-03Android實(shí)現(xiàn)簡(jiǎn)單斷點(diǎn)續(xù)傳和下載到本地功能
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)簡(jiǎn)單斷點(diǎn)續(xù)傳和下載到本地功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11