① 抓取android手機log的介紹
本文介紹了抓取Android手機日誌的技巧與方法,旨在幫助開發者定位問題、解決問題。為確保獲取有效日誌,首先需確保手機為debug版本,以獲得root許可權。
抓取AP log的命令為:adb logcat -b events -b radio -b main -b system -b crash -v threadtime > log.txt。此命令將收集手機操作事件、與modem相關的通話、簡訊與網路bug日誌、系統及crash日誌,並顯示時間戳,便於問題追蹤。日誌文件可自定義名稱與保存路徑,如:adb logcat -b events -b radio -b main -b system -b crash -v time > C:UsersalexDesktoplog.txt。抓取時,不輸入此命令將默認包含「-b events -b radio」。
清除歷史日誌只需執行:adb logcat -c。
搜索特定問題,可通過在日誌中搜索關鍵字。如遇「force close」,搜索「FATAL」關鍵字,以獲取錯誤類型與代碼行,協助定位問題。
抓取ANR(應用程序無響應)日誌時,需先獲取traces文件與tombstones文件,方法為:
此外,若需獲取backtrace日誌,可從data/tombstones/文件夾中pull出對應模塊的文件。
抓取內核日誌方法為:adb root adb remount adb shell cat /proc/kmsg >kernel_log.txt。
藍牙日誌抓取流程包括:adb root、adb remount、開啟藍牙HCI信息收集日誌、使用adb logcat命令並保存日誌至桌面。
QPST(Qualcomm Parallel Streaming Tool)日誌抓取步驟如下:在手機撥號盤輸入*#*#248#*#*,選擇USB-MODE與TEST_MODE,通過QPST Configuration軟體自動抓取DUMP LOG,確保提供對應vmlinux文件(文件位於刷機文件SWImage_PST根目錄下)與Modem版本信息。
對於指定app包名的日誌抓取,Ubuntu系統可通過grep命令實現,而Windows系統則需先獲取app的pid,例如對於包名com.android.camera的app,輸入命令:adb shell pidof -s com.android.camera獲取pid,再輸入:adb logcat --pid=1120抓取特定進程日誌,最終可保存至指定路徑。
② Android系統的系統日誌有哪幾個文件,這些文件中包含什麼內容
手機的android log(main_log、events_log、kernel_log),mainlog記錄手機android上層app以及framework相關活動的log,比如app列印的log。
eventslog主要是ActivityManager、powerManager等相關的log;Kernellog則主要是驅動相關的log。
Modem log,主要是通話相關的,比如信號強弱、連接網路等。netlog,查看網路鏈接情況,抓取網路包等。其它有data/anr 目錄下的traces/tombstones等,分析死機、重啟。
mainlog,查看應用申請什麼許可權,一般不會開放。
(2)安卓modemmp文件在哪個路徑擴展閱讀:
系統日誌的價值
系統日誌策略可以在故障剛剛發生時就向你發送警告信息,系統日誌幫助你在最短的時間內發現問題。
系統日誌是一種非常關鍵的組件,因為系統日誌可以讓你充分了解自己的環境。這種系統日誌信息對於決定故障的根本原因或者縮小系統攻擊范圍來說是非常關鍵的,因為系統日誌可以讓你了解故障或者襲擊發生之前的所有事件。
為虛擬化環境制定一套良好的系統日誌策略也是至關重要的,因為系統日誌需要和許多不同的外部組件進行關聯。良好的系統日誌可以防止你從錯誤的角度分析問題,避免浪費寶貴的排錯時間。
另外一種原因是藉助於系統日誌,管理員很有可能會發現一些之前從未意識到的問題,在幾乎所有剛剛部署系統日誌的環境當中。
使用系統日誌產品當中包含的其他特性,包括向監控團隊自動發送報警通知等功能。系統日誌基於警報類型或者准確的警報消息,系統日誌可以通過觸發特定操作來完成。
系統日誌通過簡單地設定這些警報,你將會在自己的環境中處於更加主動的位置,因為你可以在事故變得更加嚴重之前得到通知。
③ 手機里native文件夾什麼意思
android framework分為java和native兩層
native運行於C的runtime,高效。一般java層只是封裝,通過jni訪問native底層HAL,driver的crash也會導致上層的crash
,有效利用Log信息並對其進行分析與實時的監控管理,對於分析Android手機發生Crash的原因具有極為重要的作用。
Android Log 文件類型
由於Android上的應用程序千差萬別,出現的問題也不盡相同。不過Bug類型還是有規律可循的,可以根據生成的Log文件找到相應的錯誤,通常錯誤信息里記錄了錯誤的大致位置,據此可以捕獲到問題的關鍵信息。
Log文件記錄著每次操作的信息,在出現問題後可以藉助log信息分析以達到解決問題的目的,Log文件類型主要分為以下幾種:
(1) Logcat: Main緩存日誌,通過運行logcat命令,可以獲得系統中使用的標記和優先順序的列表,也可以加上過濾器進行表達式限制,只輸出測試人員及研發人員感興趣的標記-優先順序組合。
……………………
(2) Bugreport: Java應用程序Crash時會產生一個Bugreport文件,該文件主要包括三個方面的內容:
Dumpstate:內存信息,Cpu信息,Procrank信息,系統日誌,Vm Trace信息等。
Build.Prop:當前版本、當前命令、顯示系統Build的一些屬性等;
Dumpsys:Dump Of Service Meminfo(顯示某個進程更詳細的內存消耗情況以及Native And Java (Dalvik)堆棧的統計數) ;
(3) Crashmp: 每次Crash都會產生一個Crashmp文件,文件包括主日誌,Java 堆棧信息,本地調用堆棧,虛擬機/進程堆,Log緩存,內存信息,進程列表,Modem信息,Adb Log等信息;
(4) Bratlog: 測試用例及詳細信息;
(5) Logalong: 事件,如手機通訊功能信息等;
(6) Pullfs: Traces(Java 堆棧信息);
(7) Procrank: Uss(Unique Set Size) 值,進程獨自佔用的物理內存。