APP日志分析

一、如何使用電腦連接夜神模擬器(手機(jī)????)

(1)adb devices? 連接設(shè)備?

? ? ? ? 語法: adb devices

(2)打開模擬器的關(guān)于手機(jī)→點(diǎn)擊多次版本號→處于開發(fā)模式→返回上一級→點(diǎn)擊開發(fā)者模式→點(diǎn)擊usb調(diào)試模式


(3)如果adb devices 沒有出現(xiàn) 127.0.0.1:62001的話 ,默認(rèn)為是沒有連接設(shè)備,請連接設(shè)備。

? ? ? ? ?語法: adb conect 127.0.0.1:62001

(4)連接完成后,再次輸入 adb? devices ,跟(1)一致,就表示連接成功了,然后可以操作了。


二、ADT、SDK、ADB——概念補(bǔ)充

? ? (1)ADT(Android development tools) ——Android開發(fā)工具。在Eclipse上調(diào)用各種與Android有關(guān)的插件,便于ADT

????(2)SDK(software development kit)——軟件開發(fā)部件。要用到各種Android平臺,好比Android2.3等,便要有SDK

????(3)ADB(重點(diǎn))(Android debug bride)——是用來連接安卓手機(jī)和PC端的橋梁,通過adb服務(wù),在pc端命令行界面對手機(jī)或模擬器進(jìn)行全面的操作

三、ADB常用命令

? ? (1)adb --help? 查看幫助手冊

????(2)adb devices? 檢測連接到電腦的安卓設(shè)備,這個是會經(jīng)常用到的檢測命令


? ? (3)adb connect / disconnect? ? iP:端口號,通過wifi進(jìn)行遠(yuǎn)程連接手機(jī)進(jìn)行調(diào)試,手機(jī)和電腦在連接同一個路由器

? ? (4)adb? shell ——登錄設(shè)備shell(命令行的人機(jī)界面),跟linux的命令行界面類似,相當(dāng)于遠(yuǎn)程操作命令


? ? (5)adb? pull(理解為下載) ——<手機(jī)文件路徑> <真機(jī)路徑> ——從Android手機(jī)拉取到本機(jī)電腦中


? ? (6)adb push(理解為上傳)——?<真機(jī)路徑>?<手機(jī)文件路徑> ——從本地電腦中推送(發(fā)送)到手機(jī)中

? ? (7)adb install 包名.apk——為了獲取apk的安裝包所在地址,可以直接把a(bǔ)pk拖到cmd的窗口獲取,返回Success說明安裝成功了。


? ? (8)adb uninstall 應(yīng)用包名 ——卸載應(yīng)用包名 (注意:安裝的包名和應(yīng)用包名不一致)

? ? ? ? ? ? 獲取應(yīng)用包名第一種方法:進(jìn)入 /data/data/目錄查看應(yīng)用包名? ??

?????????????獲取應(yīng)用包名第二種方法:就是(9),打開安裝的app,然后輸入(9)的命令。? ? ? ?


? ? (9)adb shell dumpsys activity | find "mFocusedActivity"??——查看前臺應(yīng)用包名


? ? (10)adb logcat ——打印log日志信息?

三、logcat——日志文件? ??

(1)Android日志系統(tǒng)提供了記錄和查看系統(tǒng)調(diào)試信息的功能,日志都是從各種軟件和一些系統(tǒng)的緩沖區(qū)記錄下來的,緩沖區(qū)可以通過logcat命令來查看和使用

(2)使用方法: adb? logcat? [ 選項(xiàng)參數(shù) ]? ?[ <fiter-spec> ]


(3)開發(fā)者選項(xiàng)。有個選項(xiàng)叫做"日志記錄器緩沖區(qū)大小",默認(rèn)是256K,日志是循環(huán)寫入環(huán)形緩沖區(qū) 的,在通常情況下,寫滿時最舊的日志會被刪除以新輸出的日志留內(nèi)存空間——真機(jī)設(shè)置,模擬器一般沒有

四、logcat日志文件分析


? ? (1)由五部分組成: 1.寫下日志時的時間,如圖中12-12 01:00:57.857

? ? (2)2.優(yōu)先級,在Android中,日志的優(yōu)先級從低到高分以下幾種

? ? ? ? ? ? ---V ——Verbose(啰嗦,最低級別,開發(fā)調(diào)試中的一些詳細(xì)信息,僅在開發(fā)中使用,不可以發(fā)布產(chǎn)品輸出)

? ? ? ? ? ? ---D ——Debug(調(diào)試,用于調(diào)試的信息,可以在發(fā)布產(chǎn)品關(guān)閉,比較常見)

? ? ? ? ? ? ---I ——Info (信息,一般提示性的信息)

? ? ? ? ? ? ---W ——warning (警告)

? ? ? ? ? ? ---E ——error(錯誤,已經(jīng)出現(xiàn)可影響運(yùn)行的錯誤,比如應(yīng)用crash時輸出的日志)

? ? (3)標(biāo)簽(tag),標(biāo)明日志發(fā)起者和方便日志的過濾篩選,如上中ActivityManger。類和模塊

? ? (4)Pid(進(jìn)行PID)

? ? (5)正文,本日志的主體內(nèi)容

? ? 五、演示如何日志定位,抓取錯誤

? ? (1)遇到crash發(fā)生的錯誤,立馬輸入 adb logcat -v time > 保存的文件路徑

? ? (2)然后根據(jù)報(bào)錯關(guān)鍵字(exception)和報(bào)錯時間和來定位錯誤所在的位置


? ? (3)搜索fatal /caused by 關(guān)鍵字

????(5)搜索 Force Finishing 關(guān)鍵字

六、何為ANR?

????(1)ANR全名(APPlication Not Responding),也就是應(yīng)用無響應(yīng)當(dāng)操作一段時間內(nèi)系統(tǒng)無法處理時,系統(tǒng)層面會彈出以下圖的ANR對話窗口


????(2)為用戶在主線程長時間被阻塞時提供處理交互,提高用戶體驗(yàn)

? ? (3)Android系統(tǒng)一種自身檢測機(jī)制

? ? (4)遇到anr這種問題,不是要提交bug,而是要建議開發(fā)人員優(yōu)化這個問題

七、演示anr報(bào)錯/日志定位

? ? (1)發(fā)現(xiàn)異常bug立馬保存日志

? ? (2)根據(jù)關(guān)鍵字(Anr)和日志時間 來定位日志錯誤? ? ?(但是并不是想要的結(jié)果,不存在java,at的錯誤)


????(3)系統(tǒng)在anr發(fā)生時,會通過三種方式保存記錄信息

? ? ? ? ? ? ? ① ---Logcat日志 ——以上都是logcat)

? ? ? ? ? ? ? ②---Trace文件 ——通過? /data / anr/ traces.txt 來分析

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????? ——Dump stack trace 信息

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????? ——Dump 的進(jìn)程包括:當(dāng)前應(yīng)用進(jìn)程,父進(jìn)程,主進(jìn)程,persistent進(jìn)程,以及cpu占用率排在前幾位的(最多五個)進(jìn)程?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????? ——ps:(只能記錄最后一次發(fā)生的anr信息,很容易被替換掉)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????? ——操作方法:(文件在 系統(tǒng)的 /data /anr / 目錄中)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ——操作方法:進(jìn)入對應(yīng)目錄,并且吧traces.文件 下載到本地

? ? ? ? ? ? ? ③---DropBox服務(wù)?

? ? ? ? ? ? ? ? ? ? ——data/ anr / traces.txt 文件里面只能保存最后一次發(fā)生anr的traces信息? ?

? ? ? ? ? ? ? ? ? ? ——通過dropbox可以收集系統(tǒng)一段時間內(nèi)的異常信息(anr,crash)

? ? ? ? ? ? ? ? ? ? ——/data / system / dropbox 是dropbox 指定的文件存放位置


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 調(diào)試橋 Android 調(diào)試橋 (adb) 是一個通用命令行工具,其允許您與模擬器實(shí)例或連接的 A...
    guanjm閱讀 1,633評論 0 1
  • ADB介紹,它的主要功能有: ADB全稱Android Debug Bridge, 是android sdk里的一...
    測試開發(fā)閱讀 533評論 0 1
  • App測試關(guān)注點(diǎn):ANR、APM ANR 一、ANR是什么 ANR(Application Not Respond...
    johnny_zhao閱讀 1,512評論 0 0
  • 一、問:app測試與web測試的區(qū)別 參考答案: 1)、系統(tǒng)架構(gòu):web端的服務(wù)器更新后,客戶端會自動同步更新;如...
    rilakkumaboy閱讀 1,118評論 0 17
  • 早起,過去七天中星期天5點(diǎn)18分最早,星期五是5點(diǎn)59分最晚,平均每天5點(diǎn)29分起床,現(xiàn)在已經(jīng)做到自然醒,但這幾天...
    何林燦閱讀 167評論 0 0

友情鏈接更多精彩內(nèi)容