安卓網路電話機在內部測試或客戶部署過程中發生故障時,技術人員需要提供偵錯資訊用於故障排除與分析。本指南說明如何蒐集所需的診斷檔案。
GP32i、BX7A、BF600S、BJ7A、Bi56A
1. 準備一台安卓網路電話機、一個隨身碟、一台PoE交換器或直流電源。將話機連接至交換器。
2. 準備一台偵錯用電腦,並將其連接至同一台交換器。確保電腦與話機可正常網路通訊。
將安卓網路電話機(本例以A32i為例)連接至交換器,電腦也連接至同一交換器。確保電腦與設備網路互通。連接範例如圖1所示。

圖1. 設備與電腦連接圖
根據故障類型不同,需要蒐集不同的診斷資訊進行分析。以下章節說明不同場景下需要提供的檔案。
絕大多數情況下,需蒐集以下三個檔案並提交給研發團隊:
1. 偵錯系統紀錄檔
登入話機網頁管理介面,進入系統 > 支援頁面,找到系統紀錄選項。
設定如下參數:
1) 啟用系統紀錄
2) 將伺服器位址設定為本機電腦的IP位址
3) 將伺服器埠設定為514
4) 將系統紀錄等級設定為偵錯
5) 啟用匯出紀錄
6) 重現故障後,點擊匯出紀錄下載系統紀錄檔

圖2. 匯出偵錯系統紀錄
2. 偵錯封包
偵錯封包包含話機的快取紀錄、執行資訊、韌體詳情及其他內部診斷資料,可透過網頁介面匯出。
進入系統 > 支援工具,找到一鍵匯出偵錯資訊選項,點擊匯出。該程序約需一分鐘完成。

圖3. 匯出偵錯封包
3. 網路擷封包檔
擷封包檔會記錄收送的網路封包,可透過Wireshark等工具進行分析。
擷封包操作步驟:
1) 點擊開始,等待網頁啟動擷封包程序
2) 重現故障
3) 故障重現後,點擊停止
4) 開啟瀏覽器下載頁面,找到擷封包檔

圖4. 網路擷封包
提交上述三個檔案後,部分場景仍需補充額外資訊。
研發團隊分析完系統偵錯紀錄、偵錯封包和擷封包檔後,可能需要安卓即時紀錄用於深度分析。以下章節說明如何透過ADB蒐集安卓即時紀錄。
安卓即時紀錄
話機執行時,安卓系統會持續輸出執行紀錄,該紀錄可協助工程師定位並分析問題。
1. 在電腦上安裝ADB工具
可透過以下網址下載適用作業系統的ADB工具:
https://developer.android.google.cn/studio/releases/platform-tools
安裝完成後,將ADB安裝路徑加入系統環境變數。Windows系統中,進入本機 > 內容 > 進階系統設定 > 進階 > 環境變數,將ADB目錄的絕對路徑加入Path變數中。

圖5. 加入ADB路徑
開啟電腦命令提示字元,輸入adb指令。若指令正常執行,代表ADB安裝成功。

圖6. ADB安裝成功
2. 在話機上開啟USB偵錯
2020年12月1日後發布的安卓韌體,預設關閉ADB偵錯,需手動開啟。
將隨身碟插入話機,進入設定 > 關於裝置,連續點擊韌體版本號五次,開啟開發人員模式。

圖7. 開啟開發人員模式
隨後進入設定 > 系統 > 開發人員選項,開啟USB偵錯。


圖8. 開啟USB偵錯
3. 修改偵錯紀錄等級
話機預設紀錄等級為通知,僅記錄核心資訊。如需蒐集更詳細的紀錄,將紀錄等級修改為追蹤。
進入話機設定 > 系統維護 > 工具,將紀錄等級設定為追蹤。

圖9. 修改紀錄等級
4. 蒐集即時紀錄
使用以下ADB指令:
adb connect 172.18.8.28
將172.18.8.28替換為話機實際IP位址。該指令透過網路連接話機。
adb devices
該指令列出已連接設備,用於驗證話機是否連接成功。
adb logcat -G 16M
該指令擴大紀錄緩衝區,可儲存更多紀錄內容。
adb logcat > logcat-202111051708.log
該指令將即時紀錄輸出儲存至電腦檔案。推薦命名格式:年+月+日+時+分+秒+.log

圖10. 蒐集即時紀錄
紀錄蒐集完成後,執行指令:
adb disconnect 172.18.8.28
該指令中斷電腦與話機的連接。隨後可在電腦對應目錄找到生成的即時紀錄檔。

圖11. 即時紀錄檔路徑
若故障與液晶顯示幕或顯示效果相關,還需提供截圖檔。
登入話機網頁管理介面,進入系統 > 支援頁面,找到螢幕截圖選項。點擊儲存圖片下載並儲存截圖。

圖12. 儲存螢幕截圖