日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android日志[进阶篇]四-获取错误报告

發(fā)布時間:2025/3/12 Android 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android日志[进阶篇]四-获取错误报告 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Android日志[進(jìn)階篇]一-使用 Logcat 寫入和查看日志
Android日志[進(jìn)階篇]二-分析堆棧軌跡(調(diào)試和外部堆棧)
Android日志[進(jìn)階篇]三-Logcat命令行工具
Android日志[進(jìn)階篇]四-獲取錯誤報告
Android日志[進(jìn)階篇]五-閱讀錯誤報告

目錄

    • 前言
    • 從設(shè)備上獲取錯誤報告
    • 從 Android 模擬器上獲取錯誤報告
    • 使用 adb 獲取錯誤報告
    • 檢查錯誤報告 ZIP 文件
    • 從用戶那里獲取報告
      • 騰訊Bugly
      • 友盟
      • Google Play 管理中心
      • Firebase 崩潰報告

前言

大多數(shù)人都習(xí)慣斷點調(diào)試,斷點復(fù)現(xiàn),但往往效率低下且面對上線后出現(xiàn)的問題無從下手,本文介紹錯誤日志的獲取,logcat之外的日志,也就是線上運行日志或用戶設(shè)備的日志。

錯誤報告包含設(shè)備日志、堆棧軌跡和其他診斷信息,可以幫助我們查找和修復(fù)應(yīng)用中的錯誤。通過以下幾種方式可以從設(shè)備上獲取錯誤報告:使用設(shè)備上的生成錯誤報告開發(fā)人員選項、Android 模擬器菜單或開發(fā)機(jī)器上的 adb bugreport 命令。

圖 1. 開發(fā)人員選項

如需生成錯誤報告,必須在設(shè)備上啟用開發(fā)者選項,以便訪問生成錯誤報告(提交錯誤報告)選項。

從設(shè)備上獲取錯誤報告

圖 2. 錯誤報告已準(zhǔn)備就緒

如需直接從設(shè)備上獲取錯誤報告,請執(zhí)行以下操作:

  • 確保設(shè)備已啟用開發(fā)人員選項。
  • 在開發(fā)者選項中,點按提交錯誤報告。
  • 選擇所需的錯誤報告類型(完整或互動式),然后點按報告。

    接著收集并提取相關(guān)的錯誤報告,可以從狀態(tài)欄中看到這個過程,也可以重新命名報告的最終文件名,稍后,便會收到錯誤報告已準(zhǔn)備就緒的通知(參見圖 2)。

  • 如需分享錯誤報告,請點按該通知。系統(tǒng)會根據(jù)可分享的渠道進(jìn)行分享,如藍(lán)牙等方式傳輸?shù)诫娔X
  • 從 Android 模擬器上獲取錯誤報告

    在 Android 模擬器中,使用“Extended controls”窗口中的 File a bug 功能:

  • 點擊模擬器面板中的 More 圖標(biāo) 。
  • Extended controls 窗口中,選擇左側(cè)的 Bug report

    此時系統(tǒng)會打開一個屏幕,可以在其中查看錯誤報告詳細(xì)信息,例如屏幕截圖、AVD 配置信息和錯誤報告日志。還可以輸入一條包含重現(xiàn)步驟的消息,以便與報告一起保存。

  • 等待錯誤報告完成收集,然后點擊 Save Report

  • 使用 adb 獲取錯誤報告

    如果只連接了一臺設(shè)備,則可以使用 adb 獲取錯誤報告,如下所示:

    $ adb bugreport E:\Reports\MyBugReports

    如果沒有指定錯誤報告的路徑,系統(tǒng)會將其保存到本地目錄。

    如果連接了多臺設(shè)備,則必須使用 -s 選項指定設(shè)備。運行以下 adb 命令可獲取設(shè)備序列號并生成錯誤報告。

    $ adb devices

    List of devices attached

    emulator-5554 device 8XV7N15C31003476 device $ adb -s 8XV7N15C31003476 bugreport

    檢查錯誤報告 ZIP 文件

    默認(rèn)情況下,ZIP 文件稱為 bugreport-BUILD_ID-DATE.zip (bugreport-ANE-AL00-HUAWEIANE-AL00-2021-09-10-17-00-09.zip),它可能會包含多個文件,但最重要的文件是 bugreport-BUILD_ID-DATE.txt (bugreport-ANE-AL00-HUAWEIANE-AL00-2021-09-10-17-00-09.txt)。此文件就是錯誤報告,它包含系統(tǒng)服務(wù) (dumpsys)、錯誤日志 (dumpstate) 和系統(tǒng)消息日志 (logcat) 的診斷輸出。系統(tǒng)消息包括設(shè)備拋出錯誤時的堆棧軌跡,以及從所有應(yīng)用中使用 Log 類寫入的消息。

    ZIP 文件中有一個 version.txt 元數(shù)據(jù)文件,其中包含 Android 版本號,而且啟用 systrace 后,ZIP 文件中還會包含 systrace.txt 文件。Systrace 工具 可以獲取并顯示應(yīng)用進(jìn)程和其他 Android 系統(tǒng)進(jìn)程的執(zhí)行時間,從而幫助分析應(yīng)用的性能。

    dumpstate 工具會將文件從設(shè)備的文件系統(tǒng)復(fù)制到 ZIP 文件的 FS 文件夾下,以便引用它們。例如,設(shè)備中的 /dirA/dirB/fileC 文件會在 ZIP 文件中生成 FS/dirA/dirB/fileC 條目。


    圖 3. 錯誤報告文件結(jié)構(gòu)

    如需了解詳情,請參閱Android日志[進(jìn)階篇]五-閱讀錯誤報告。

    從用戶那里獲取報告

    如上所述,開發(fā)者使用應(yīng)用時,獲取錯誤報告非常有用,但最終用戶無法輕松地與您分享這些類型的錯誤報告。如需從真實用戶那里獲取包含堆棧軌跡的崩潰報告,應(yīng)該利用 Google Play 和 Firebase 的崩潰報告功能。國內(nèi)一般使用騰訊bugly和友盟的sdk完成。

    騰訊Bugly

    支持android 和ios ,文檔入口 ,app 需要集成Bugly的SDK,文檔有關(guān)于android studio和eclipse的集成說明,同時支持離線sdk和遠(yuǎn)程倉庫的依賴,請更新需要進(jìn)行選擇。集成完成以后留意bugly的應(yīng)用運行情況,可以查看到崩潰記錄以及堆棧信息。

    友盟

    也支持android 和ios,文檔入口-應(yīng)用性能監(jiān)控 U-APM,app也需要集成友盟的sdk后進(jìn)行發(fā)布。當(dāng)然需要的帳號需要各位自行去了解和申請。

    Google Play 管理中心

    由于各種不方便,這個國內(nèi)基本沒人使用,

    可以從 Google Play 管理中心獲取報告,以便查看從 Google Play 安裝應(yīng)用的用戶那里收集的有關(guān)崩潰和應(yīng)用無響應(yīng) (ANR) 錯誤的數(shù)據(jù)。可以查看過去六個月的數(shù)據(jù)。

    如需了解詳情,請參閱 Play 管理中心幫助中心內(nèi)的查看崩潰和應(yīng)用無響應(yīng) (ANR) 錯誤。

    Firebase 崩潰報告

    Firebase Crashlytics 報告會創(chuàng)建有關(guān)應(yīng)用中出現(xiàn)的錯誤的詳細(xì)報告。此報告會基于錯誤是否具有相似堆棧軌跡將其分門別類,并根據(jù)錯誤對用戶所產(chǎn)生影響的嚴(yán)重程度進(jìn)行分級。除自動發(fā)送的報告外,您還可以通過記錄自定義事件獲知導(dǎo)致應(yīng)用崩潰的操作。

    需<將 Firebase 依賴項添加到 build.gradle 文件,即可開始接收用戶發(fā)送的崩潰報告。如需了解詳情,請參閱 Firebase Crashlytics。

    總結(jié)

    以上是生活随笔為你收集整理的Android日志[进阶篇]四-获取错误报告的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。