按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閃退等錯誤時,上面的方法一定能幫上你。