如何从Android设备获取错误?

问题描述:

当.apk部署并下载到Google Play时,如果崩溃,用户可以上传堆栈跟踪的错误报告。如果我们有一个内部QA团队,并且.apk已经从开发人员的PC直接部署到设备,那么是否有必要收集该错误堆栈跟踪,而不必连接到PC或将应用程序部署给公众?如何从Android设备获取错误?

您可以使用BugSense等服务来收集堆栈跟踪。但要使用它,应用程序应具有android.permission.INTERNET权限。

+0

这是一个最有趣的产品。谢谢! – 2012-04-27 14:04:14

安装LogViewer,您可以在设备上看到logcat输出。 适合我。

https://play.google.com/store/apps/details?id=ukzzang.android.app.logviewer

有在谷歌大量的应用程序的喜欢玩Log Store该测试可用于您的电子邮件发送应用程序日志。我已经使用

一种方法是增加中的所有线程我自己的默认异常处理程序,包括使用

Thread.setDefaultUncaughtExceptionHandler(
      new MyDefaultExceptionHandler(this)); 

和MyDefaultExceptionHandler我保存未捕获的异常到文件,并让正常的处理发生在UI线程即应用程序崩溃。当下次应用程序启动并找到崩溃报告文件时,它会向用户显示询问是否应将崩溃报告发送给开发人员的对话框。如果用户选择“是”,那么我会将文件中的堆栈跟踪邮件发送给我自己,并删除/清除文件。

ACRA是一个免费的库,您可以轻松包含并在您的应用程序中使用,以自动将所有崩溃报告发布到GoogleDoc表单。

从他们的描述:

ACRA让你的Android应用程序发送崩溃报告,以各种 目的地:

  • 一个谷歌文档电子表格(默认和原始行为)
  • 电子邮件
  • 您自己的服务器端HTTP POST脚本(
  • 任何其他pos通过实现自己的报告发送

Hockeyapp(www.hockeyapp.net)锡布尔赫丁目的是为这个非常有用的。它可以在不向公众开放的情况下帮助进行beta测试。我已经使用了很长一段时间了,而且上传新版本的应用程序并让用户更新他们的应用程序非常简单。这是从他们的网站

HockeyApp是分发您的测试版,并收集测试现场 崩溃报告和发布在Mac OS X,iOS和Android应用的最佳途径。