DOCS
Основным инструментом Android для сбора / анализа журналов является logcat.
ЗДЕСЬ это страница Android о logcat
Если вы используете Android Studio, вы также можете проверить это LINK .
Захват
По сути, вы можете Вручную захватить logcat с помощью следующей команды (или просто проверить окно AndroidMonitor в AndroidStudio):
adb logcat
Можно добавить множество параметровв команду, которая поможет вам отфильтровать и отобразить нужное сообщение ... Это личное ... Я всегда использую приведенную ниже команду, чтобы получить отметку времени сообщения:
adb logcat -v time
Вы можете перенаправить вывод вфайл и проанализируйте его в текстовом редакторе.
Анализ
Ваше приложение падает, и вы получаете сообщение об ошибке, подобное этому:
05-18 18:29:44.160: ERROR/AndroidRuntime(2145): FATAL EXCEPTION: main
05-18 18:29:44.160: ERROR/AndroidRuntime(2145): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.paad.whereami/com.paad.whereami.WhereAmI}: java.lang.NullPointerException
05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at android.os.Handler.dispatchMessage(Handler.java:99)
05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at android.os.Looper.loop(Looper.java:130)
05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at android.app.ActivityThread.main(ActivityThread.java:3683)
05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at java.lang.reflect.Method.invokeNative(Native Method)
05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at java.lang.reflect.Method.invoke(Method.java:507)
05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at dalvik.system.NativeStart.main(Native Method)
05-18 18:29:44.160: ERROR/AndroidRuntime(2145): Caused by: java.lang.NullPointerException
05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at com.paad.whereami.WhereAmI.updateWithNewLocation(WhereAmI.java:290)
05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at com.paad.whereami.WhereAmI.onCreate(WhereAmI.java:216)
05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-18 18:29:44.160: ERROR/AndroidRuntime(2145): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
Эта часть журнала показывает вам много информации:
Когда
Когда возникла проблема: 05-18 18:29:44.160
Важнопроверить, когда возникла проблема ... Вы можете найти несколько ошибок в журнале ... вы должны быть уверены, чтовы проверяете правильные сообщения:)
Какое приложение
Приложение, которое упало: com.paad.whereami
Таким образом, вы знаете, какое приложение упало (чтобы убедиться, что вы проверяете журналы своего сообщения)
Какая ошибка
ОШИБКА: java.lang.NullPointerException
Ошибка исключения указателя NULL
Какой файл приводит к этой ошибке
Обычно мы читаем только первую строку трассировки стека.Тем не менее, ваш журнал является хорошим примером того, что нам нужно проверить весь журнал.В строках ниже мы видим, где произошел нулевой указатель:
Caused by: java.lang.NullPointerException
at com.paad.whereami.WhereAmI.updateWithNewLocation(WhereAmI.java:290)
at com.paad.whereami.WhereAmI.onCreate(WhereAmI.java:216)
Ошибка произошла в файле WhereAmI.java
, внутри updateWithNewLocation()
метод в строке: 290
(stacktrace показывает строку, в которой произошла ошибка)
StackTrace
Вы можете увидеть, какой метод называется updateWithNewLocation()
.Это полезно, потому что иногда ошибка вызывается при вызове методов.В вашем примере это называлось:
at com.paad.whereami.WhereAmI.onCreate(WhereAmI.java:216)
и т. Д.
Обзор
Это был просто обзор ... Невсе журналы просты и т. д. Это просто для того, чтобы поделиться идеей и предоставить вам информацию начального уровня ...
Я надеюсь, что смогу вам как-нибудь помочь ... С уважением