Android adb log - 在应用程序崩溃后收集最近的日志

Android adb log - Collecting recent log after application crashes

关键字:android、日志、adb

我的问题是长时间运行后,我的应用程序在恢复时崩溃。这个bug异常崩溃,所以当时没法收藏

在我的应用程序崩溃后,我想立即收集我的应用程序的最新日志,以便找出错误。我该怎么做?

任何建议都可能有所帮助,谢谢。

我至少知道如何做到这一点:

Crashlytics

要收集崩溃报告,我建议您使用 Crashlytics。由 Twitter 制作,易于维护和使用。 您可以在这里找到更多信息:

https://fabric.io/kits/android/crashlytics/summary

http://try.crashlytics.com/sdk-android/

它还有一个 Android Studio 和 IntelliJ Idea 插件。

Firebase 崩溃报告

您还可以使用 Google 引入的新 Fibase 功能,称为 Firebase 崩溃报告。检查:https://firebase.google.com/docs/crash/

我已经使用了第一个解决方案,我很确定你会喜欢这个。

piotrek1543的回答很好

我只是将其添加为一个情境选项: 在您的应用程序崩溃后,您的 phone 可能仍有该日志。如果是这种情况,您可以将 phone 连接到 USB 数据线,然后使用 adb shell 获取它:

adb shell "logcat your.app.package:W -v long | grep E/AndroidRuntime" > android.log

E/AndroidRuntime是android运行时错误日志的关键过滤器,随意更改。你会得到类似的东西:

E/AndroidRuntime( 2494): FATAL EXCEPTION: main

E/AndroidRuntime( 2494): Process: your.app.package, PID: 2494

E/AndroidRuntime( 2494): java.lang.RuntimeException: MainActivity btn_throwException

E/AndroidRuntime( 2494):    at your.app.package.MainActivity.onClick(MainActivity.java:35)

E/AndroidRuntime( 2494):    at android.view.View.performClick(View.java:4463)

E/AndroidRuntime( 2494):    at android.view.View$PerformClick.run(View.java:18770)

E/AndroidRuntime( 2494):    at android.os.Handler.handleCallback(Handler.java:808)

E/AndroidRuntime( 2494):    at android.os.Handler.dispatchMessage(Handler.java:103)

E/AndroidRuntime( 2494):    at android.os.Looper.loop(Looper.java:193)

E/AndroidRuntime( 2494):    at android.app.ActivityThread.main(ActivityThread.java:5323)

E/AndroidRuntime( 2494):    at java.lang.reflect.Method.invokeNative(Native Method)

E/AndroidRuntime( 2494):    at java.lang.reflect.Method.invoke(Method.java:515)

E/AndroidRuntime( 2494):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:828)

E/AndroidRuntime( 2494):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:644)

E/AndroidRuntime( 2494):    at dalvik.system.NativeStart.main(Native Method)

在此处查看更多内容https://developer.android.com/studio/command-line/logcat.html