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



关键词:android, log, adb

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

在我的应用程序崩溃后,我想收集我的应用程序最近的日志,这样我就可以找到错误。我该怎么做呢?

我认为至少有两种方法可以做到:

Crashlytics

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

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

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

它还有一个Android Studio & &;IntelliJ Idea插件

Firebase崩溃报告

你也可以使用谷歌推出的新的Fibase功能称为Firebase崩溃报告。检查:https://firebase.google.com/docs/crash/

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

piotrek1543的答案很棒。

我只是添加这个作为一个情境选项:在你的应用程序崩溃后,你的手机仍然有可能有这个日志。如果是这样的话,你可以用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$2.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

相关内容

最新更新