如何从Android设备获取错误?

时间:2012-04-27 13:56:50

标签: android

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

6 个答案:

答案 0 :(得分:3)

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

的UI线程
Thread.setDefaultUncaughtExceptionHandler(
            new MyDefaultExceptionHandler(this));

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

答案 1 :(得分:3)

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

根据他们的描述:

  

ACRA允许您的Android应用程序向各种发送崩溃报告   目的地:

     
      
  • Google文档电子表格(默认和原始行为)
  •   
  • 电子邮件
  •   
  • 您自己的服务器端HTTP POST脚本(
  •   
  • 通过实施您自己的报告发件人的任何其他可能的目的地
  •   

答案 2 :(得分:1)

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

答案 3 :(得分:1)

安装LogViewer,您可以在设备上看到logcat输出。 对我很有用。

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

答案 4 :(得分:1)

Google Play中有很多应用程序,例如Log Store,测试人员可以使用这些应用程序在您的电子邮件中发送应用程序日志。

答案 5 :(得分:0)

Hockeyapp(www.hockeyapp.net)对此非常有用。它无需公开您的应用即可帮助进行Beta测试。我已经使用它已经有一段时间了,并且很容易上传新版本的应用程序并让用户更新他们的应用程序。这是来自他们的网站

  

HockeyApp是分发您的贝塔并收集现场的最佳方式   Mac OS X,iOS和Android上的测试版和发布版应用程序的崩溃报告。