2

我有一個編譯沒有錯誤的科爾多瓦應用程序。但是,當我將應用程序午餐給我的Android設備時,它在啓動時立即崩潰。當我不知道錯誤是什麼時,我很難調試...Cordova應用程序編譯但運行時崩潰。如何獲得錯誤報告?

問題:有沒有辦法從這次崩潰中獲取錯誤報告?

我通常使用chrome來調試我的應用程序,但只有當應用程序能夠加載並在設備上運行時纔有效。

+0

搜索如何通過LOGCAT收集和檢查「強制關閉」 – W0rmH0le

+0

@Guilherme P有沒有特定的文章,你可以推薦? – Tim

+0

看到這個SO回答:http://stackoverflow.com/a/32115428/1814840有關從logcat獲取錯誤的說明 –

回答

3

您希望瞭解logcat的一些文章...我回答部分投入,因爲它是徵求意見:)

DOCS

太多的信息在Android中的情​​況下,可以隨時去開發者頁面。

HERE是Android的約logcat的

如果您使用Android Studio,您還可以檢查此LINK頁。

捕捉

基本上,你可以捕捉logcat的使用下面的命令:

adb logcat 

有很多的參數,你可以添加命令它可以幫助你過濾顯示你想要的信息...這是個人...我總是使用下面的命令來獲取消息時間戳:

adb logcat -v time 

Y您可以將輸出重定向到一個文件並在文本編輯器中進行分析。

分析

如果您的應用程序崩潰,你會得到這樣的:

07-09 08:29:13.474 21144-21144/com.example.khan.abc D/AndroidRuntime: Shutting down VM 
07-09 08:29:13.475 21144-21144/com.example.khan.abc E/AndroidRuntime: FATAL EXCEPTION: main 
    Process: com.example.khan.abc, PID: 21144 
    java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v4.app.FragmentActivity.onBackPressed()' on a null object reference 
    at com.example.khan.abc.AudioFragment$1.onClick(AudioFragment.java:125) 
    at android.view.View.performClick(View.java:4848) 
    at android.view.View$PerformClick.run(View.java:20262) 
    at android.os.Handler.handleCallback(Handler.java:815) 
    at android.os.Handler.dispatchMessage(Handler.java:104) 
    at android.os.Looper.loop(Looper.java:194) 
    at android.app.ActivityThread.main(ActivityThread.java:5631) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:372) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754) 
07-09 08:29:15.195 21144-21144/com.example.khan.abc I/Process: Sending signal. PID: 21144 SIG: 9 

日誌的這部分顯示了大量的信息:

  • 當問題發生了:07-09 08:29:13.475

重要的是要檢查問題何時發生......您可能會在日誌中發現多個錯誤...你必須確保你正在檢查的正確的信息:)

  • 哪個應用程序崩潰:com.example.khan.abc

這樣,你知道哪些應用程序崩潰(以確保您正在檢查有關日誌的你消息)

  • 哪個錯誤:java.lang.NullPointerException

一個空指針異常錯誤

  • 有關錯誤的詳細信息:Attempt to invoke virtual method 'void android.support.v4.app.FragmentActivity.onBackPressed()' on a null object reference

您試圖從FragmentActivity對象調用方法onBackPressed()。然而,當你這樣做的時候,那個對象是null

  • 堆棧跟蹤:堆棧跟蹤顯示您的方法調用順序...有時,錯誤發生在調用方法(而不是調用方法)中。

    在com.example.khan.abc.AudioFragment $ 1.onClick(AudioFragment.java:125)

錯誤發生在文件com.example.khan.abc.AudioFragment.java,內部onClick()方法在行:125(堆棧跟蹤示出了行錯誤發生)

它被稱爲:

at android.view.View.performClick(View.java:4848) 

這是所謂的:

at android.view.View$PerformClick.run(View.java:20262) 

這是所謂的:

at android.os.Handler.handleCallback(Handler.java:815) 

等....

概述

這只是一個概述......不是所有的日誌都是簡單等。 。它只是分享想法,併爲您提供入門級的信息...

我希望我可以幫你... Regards

相關問題