通過輸出日志到文件來檢查app閃退原因


按Delphi Teacher告訴我的,真是好用。直接說步驟了:

1.打開cmd窗口。

然后轉到ADB.EXE所在目錄,如下圖:

 

如果你不知怎么找到這個目錄,可以打開delphi ide-Tools->Options,如下圖,Ctrl+C這個目錄,轉到cmd窗口,右鍵可以粘貼過來。(我是不是啰嗦了...)

 

2.接好你的手機,在Delphi IDE中取看到聯接正常。

3.開始捕獲日志前,清理一下手機內所有穩存的日志:adb logcat -c -b main -b events -b radio -b system

4.在cmd窗口,執行:adb logcat >C:\aa.log

這是在C盤生成aa.log日志文件,你可以隨便寫這個文件名,如adb logcat >D:\bb.log,這在D盤生成bb.log文件。如下圖,如果沒有操作文件的權限,則會提示“拒絕訪問”,如果沒有接好手機,會提示-waiting for device-

 如果手機聯接好了,也有權限,這里不會有提示的。

5.現在運行app,操作出“閃退”。

6.回到cmd,按CTRL+C,中止log輸出,這時候,生成對應的日志文件。

7.打開這個文件,查看其中的內容,你就會找到出錯的原因了!經驗:搜 java.lang

用這種方法,我們就可以遠程捕獲用戶現場的日志,具體說,

1.在本機把C:\Users\Public\Documents\Embarcadero\Studio\20.0\PlatformSDKs\android-sdk-windows\platform-tools文件夾下面的

adb.exe

AdbWinApi.dll

AdbWinUsbApi.dll

三個方法發布到用戶機器上。

2.然后,就可以按上面的步驟遠程收集日志。

使用kbmMW提供的日志框架,還可以自己寫日志,這會極大的方便我們分析問題:

uses 
  kbmMWLog;
...
kbmMWLog.Log.Debug('初始化出錯:'+AException.Message);

 好了,該寫的都寫了,當遇到用戶反應app閃退等錯誤時,上面的方法一定能幫上你。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM