如何从我的Android应用程序中获得崩溃数据(至少堆栈跟踪)?至少在我自己的设备上工作时可以通过电缆检索,但理想的情况是,从我的应用程序在野外运行的任何实例中都可以,这样我就可以改进它,使它更可靠。
当前回答
这是非常野蛮的,但是可以在任何地方运行logcat,所以一个快速而肮脏的hack是在任何捕获块中添加getRuntime()。Exec ("logcat >> /sdcard/logcat.log");
其他回答
你可以直接在Android Studio中做到这一点。只要连接你的手机,运行应用程序,让它崩溃,你就可以直接在Android Studio中查看堆栈跟踪。
谷歌Play开发者控制台实际上为你提供了那些已经崩溃和发送报告的应用程序的堆栈跟踪,它也有一个非常好的图表来帮助你查看信息,参见下面的例子:
你可以试试ACRA (Android应用程序崩溃报告)库:
ACRA是一个库,使Android应用程序自动张贴他们的崩溃报告到GoogleDoc的形式。它是针对android应用程序开发人员,帮助他们从他们的应用程序崩溃或行为错误时获取数据。
它很容易安装在你的应用程序中,高度可配置,不需要你在任何地方托管服务器脚本…报告被发送到谷歌文档电子表格!
使用这个来捕获异常细节:
String stackTrace = Log.getStackTraceString(exception);
保存在数据库中,并维护日志。
虽然本页上的许多答案都很有用,但它们很容易过时。AppBrain网站汇总统计数据,让您找到当前最流行的崩溃报告解决方案:
Android崩溃报告库
你可以看到,在发布这张图片时,5.24%的应用使用了Crashlytics,安装率为12.38%。
推荐文章
- 警告:API ' variable . getjavacompile()'已过时,已被' variable . getjavacompileprovider()'取代
- 安装APK时出现错误
- 碎片中的onCreateOptionsMenu
- TextView粗体通过XML文件?
- 如何使线性布局的孩子之间的空间?
- DSL元素android.dataBinding。enabled'已过时,已被'android.buildFeatures.dataBinding'取代
- ConstraintLayout:以编程方式更改约束
- PANIC: AVD系统路径损坏。检查ANDROID_SDK_ROOT值
- 如何生成字符串类型的buildConfigField
- Recyclerview不调用onCreateViewHolder
- Android API 21工具栏填充
- Android L中不支持操作栏导航模式
- 如何在TextView中添加一个子弹符号?
- PreferenceManager getDefaultSharedPreferences在Android Q中已弃用
- 在Android Studio中创建aar文件