Android 巧用 adb logcat 工具查看丟失的 app crash 數據

2021-02-20 安卓筆記俠

Android App 運營期間發生崩潰是在所難免的事情,問題在於如何獲取崩潰日誌,進而分析解決問題。

開發調試階段可以通過 Android Studio 的 Logcat 窗口獲取必現的 crash 日誌信息,如果不是必現的,或者不能通過開發工具顯示的,怎麼辦呢?可以嘗試 dump 操作,通過 adb logcat 命令獲取手機設備本地的 log 信息。

App 運行期間的系統日誌、錯誤堆棧和應用本身通過 Log 類列印出的消息,都可以通過 adb logcat 命令導出到電腦上查看,命令格式類似:

./adb logcat > /Users/ccsa/logcat.txt

箭頭(>)符號表示導出,後面路徑表示導出到電腦上的文件,沒有的話會自動創建。

運行這個命令時不會自動退出,Linux 環境可以通過 control + C 快捷鍵推出當前命令。

值得注意的是,logcat 日誌緩衝區是有大小限制的,可以通過 -g 參數查看:

因此,如果可以重複操作穩定復現 crash 信息的話,可以在 crash 復現操作執行前,通過 -c 命令清空日誌緩衝區:

Logcat 命令行工具還有很多參數可以設置,甚至可以直接運行 adb logcat 命令通過命令行工具查看實時 log 信息。更多設置參考官網文檔介紹:

https://developer.android.com/studio/command-line/logcat?hl=zh-cn

長按識別二維碼,關注我,一名愛叨叨的程式設計師

點讚分享,也是一種讚賞

相關焦點

  • Logcat命令行工具
    這裡先說一下logcat先給官方定義Logcat 是一個命令行工具,用於轉儲系統消息日誌,包括設備拋出錯誤時的堆棧軌跡,以及從您的應用中使用 Log 類寫入的消息。logcat進程啟動時入口在logcat_main.cpp#main()方法,其中核心android_logcat_run_command方法中調用__logcat方法來解析命令參數,最終通過Socket發送給logd處理等,例如clear命令會通過發送給logd的CommandListener類(logd.control線程)來處理。
  • App自動化測試必備之adb使用
    (android debug bridge)是android sdk自帶的一個工具。Adb是用來連接android設備和PC端的橋梁,通過adb工具,用戶可以在PC端對手機進行全面的操作。Android的初衷是用adb這樣的一個工具來協助開發人員在開發android應用的過程中更快更好的調試apk,因此adb具有安裝卸載apk、拷貝推送文件、查看設備硬體信息、查看應用程式佔用資源、在設備執行shell命令等功能。
  • appium+python自動化53-adb logcat查看日誌
    前言做app測試,遇到異常情況,查看日誌是必不可少的,日誌如何輸出到手機sdcard和電腦的目錄呢?
  • logcat抓取app日誌詳細方法
    1.安裝SDK(參考android sdk環境安裝)2.使用數據線連結手機,在手機助手的sdcard中建立一個1.log的文件或在抓日誌時直接導出到電腦位置3.程序運行cmd,進入到含有adb.exe目錄4.輸入adb devices 查看設備是否連上5.輸入抓取命令:adb logcat -s *
  • App自動化測試 | Android ADB原理及常用命令
    ,包含在SDK 平臺工具包中,adb可以用於連接Android設備,或者模擬器,實現對設備的控制,比如安裝和調試應用。force-stop com.tenda.smarthome.app # 強制停止應用adb shell pm clear <packagename>  # 清除應用數據與緩存adb shell am start -a android.intent.action.VIEW -d https://www.baidu.com # 打開網頁模擬按鍵
  • Android基礎開發實踐:如何分析Native Crash
    5.1 logcat 分析Native Crash最直接的方式是查看logcat日誌,一般情況下,只要APP沒有自己實現信號捕獲機制(比如使用了Bugly插件或者google breakpad),就不會影響到Runtime正常列印調用棧。
  • Android開發調試工具ADB的使用
    \android-sdk-windows\platform-tools 這個目錄,ADB工具就放在這裡。如圖:>     這裡要注意的就是如果你需要向一個二級目錄裡放文件的時候,一定使用"/"而不能使用"\",原因是android是liunx下的系統,而我們用的是windows。
  • android安全(十一)android logcat抓取app日誌的方法
    sdk環境安裝)2.使用數據線連結手機,在手機助手的sdcard中建立一個1.log的文件或在抓日誌時直接導出到電腦位置3.程序運行cmd,進入到含有adb.exe目錄4.輸入adb devices 查看設備是否連上5.輸入抓取命令:adb logcat -s *:E > /mmt/sdcard/1.log或logcat -s '*:E
  • Android 常用adb shell 命令
    通過adb我們可以在Eclipse中通過DDMS來調試Android程序,說白了就是debug工具。adb通過監聽Socket TCP 5554等埠讓IDE和Qemu通訊。默認情況下當我們運行Eclipse時adb進程就會自動運行。adb是一個C/S模式的程序,由三個部分組成:a client,a server and a daemon。
  • App Crash 詳解
    app crash 舉例App Crash 不僅發生在前臺進程,任何app組件,例如Broadcast Receivers,Content Providers,Service等在後臺運行的組件,也可以引起App
  • adb 命令
    SDK的Tools文件夾下包含著Android模擬器操作的重要命令adb,adb的全稱為(Android Debug Bridge就是調試橋的作用。通過adb我們可以在Eclipse中方面通過DDMS來調試Android程序。藉助這個工具,我們可以管理設備或手機模擬器的狀態。
  • ADB-monkey測試
    安裝APKadb -s emulator-5554 install 路徑-s是指定設備(如果連接了多個設備)6. Monkey測試:adb shell monkey 100獲取包:adb shell logcat |grep START   或adb logcat | findstr START   基本參數
  • app測試篇
    我們是用monkey做手機端App的穩定性測試的,使用monkey跑10萬次,看它會不會出問題,如果出了問題,我們再定位原因,具體的做法是這樣的:在跑monkey前,先使用adb logcat -c清空手機的logcat日誌接下來,使用adb logcat -v time獲取logcat日誌並導入本地文件使用monkey運行被測應用:adb shell
  • Android ADB命令?這一次我再也不死記了!
    adb的全稱為Android Debug Bridge.是android司機經常用到的工具.但是問題是那麼多命令寫代碼已經夠費勁了,過段時間在次使用時壓根記不住呀.本次的大餐就是為此開篇的.這一次我們不記命令.要用隨時過來ctrl
  • Ui Automator 框架和Ui Automator Viewer你會用嗎?附送「必備adb命令」拿走不謝 !
    adb(Android Debug Bridge)是 android sdk 的一個工具,是個調試工具。adb 是用來連接安卓手機和 PC 端的橋梁,要有 adb 作為二者之間的維繫,才能讓用戶在電腦上對手機進行全面的操作。當然,usb 線作為中間工具。
  • 常用的adb命令
    adb全稱為Android Debug Bridge,就是起到調試橋的作用。顧名思義,adb就是一個debug工具。
  • appium---常用的adb命令
    前言     在測試android-app的時候,adb命令可以幫助我們解決許多問題什麼是adbAndroid Debug
  • ADB 你想找的命令都在這裡
    adb 工具路徑android_sdk/platform-tools/二、ADB的工作方式1. 連接 Android 模擬器ADB與本地 TCP 埠 5037 綁定,並偵聽從 adb 客戶端發送的命令—所有 adb 客戶端均使用埠 5037 與 adb 伺服器通信。然後,伺服器設置與所有運行的Android模擬器/Android 設備連接。
  • 安卓測試常用的 ADB 命令大全,非常全!
    通過adb我們可以在Eclipse中方面通過DDMS來調試Android程序。藉助這個工具,我們可以管理設備或手機模擬器的狀態。1、安裝apkadb install test.apk -r 覆蓋安裝,保留數據和緩存文件  -d 解決低版本version問題  -s 安裝apk到sd卡2、卸載apkadb uninstall -k <package_name>可選參數-k的作用為卸載軟體但是保留配置和緩存文件3、查看app相關所有信息
  • ADB命令使用基礎及刪除屏幕鎖實驗
    ADB(Android Debug Bridge)是Android 提供的一個通用的調試工具,藉助這個工具,我們可以很好的調試開發的程序,adb.exe在android的sdk開發包platform-tools目錄下。adb採用監聽Socket TCP 5554等埠的方式讓IDE和Qemu通訊。