【问题标题】:Android - how to send crash reports?Android - 如何发送崩溃报告?
【发布时间】:2015-02-14 22:34:22
【问题描述】:

似乎从 Android 2.2 开始,有一个发送崩溃报告的新功能,如链接中所述:

如何使用此功能?从市场(又名 Google Play 商店)下载的每个应用程序都是自动的吗? 在哪里可以找到有关此功能的更多信息?

另外,是否可以自定义发送的内容,或许可以使用 DefaultExceptionHandler,并添加我们自己的崩溃描述?

注意:我知道有很多用于发送崩溃报告的工具(例如ACRA),但我希望先检查是否可以使用已经提供的工具。

编辑:我已经成功修改了进一步传递的异常,希望这也会改变发送到谷歌开发者网站的报告。

以下是与此相关的示例代码:

private static class DefaultExceptionHandler implements java.lang.Thread.UncaughtExceptionHandler
...
@Override
public void uncaughtException(Thread t, Throwable e)
{
  final StackTraceElement[] exceptionStackTrace = e.getStackTrace();
  Exception exception = new Exception("my new exception!", e);
  final StackTraceElement[] newExceptionStackTrace = new StackTraceElement[exceptionStackTrace.length + 1];
  System.arraycopy(exceptionStackTrace, 0, newExceptionStackTrace, 1, exceptionStackTrace.length);
  newExceptionStackTrace[0] = new StackTraceElement("TEST CLASS", "TEST METHOD", "TEST FILE", 0);
  exception.setStackTrace(newExceptionStackTrace);
_defaultUEH.uncaughtException(t, exception); //this will hopefully call the default handling of the exception for reporting
}

【问题讨论】:

  • 您将在您的市场控制台中自动收到错误报告。

标签: android google-play crash-reports


【解决方案1】:

您所描述的内容听起来像是内置功能,据我所知,您无法自定义此功能。数据将发送到上传应用程序的 googlePlay 开发帐户。我见过 Sense 或 Custom Roms 进行的自定义。获取自己的日志的唯一方法是使用您提到的DefaultErrorHandler。作为一个好习惯,我会检查你是否可以自己捕获错误(也许将它记录在某个地方)。如果不是,我会重新抛出这个错误,让用户有机会给你提示,他做了什么

【讨论】:

  • 是的,我怀疑它是内置的并且没有 API。但是,是否可以使用 DefaultExceptionHandler 将我自己的更多信息添加到报告中?如果是这样,如何?我知道我已经成功捕获了异常,但是我应该怎么做才能将更多信息进一步传递给崩溃报告的内置功能?
  • 你不能在内置的 crashReport 中传递任何额外的信息。您只能使用 DefaultExHandler 以您喜欢的方式发送您的 OWN 报告
  • 你不理解我(因为我,我承认)。我想添加额外的数据。例如,假设我得到一个空指针异常,并且我想包含在此异常发生之前打印的日志。我可以以某种方式添加此信息,以便在开发人员网站上我可以看到它以及收集到的其他信息吗?也许我可以发送包含这些数据的自定义异常?
  • 可能不能满足你,但我想我很理解你。答案再次是否定的。如果你想获得额外的信息,你必须发明你自己的报告并将它们发送到你自己的服务器!没有 Api,或任何其他方式来发送 SOMETHING,或与内置功能通信(如果你不想自己煮 rom)
  • 所以如果我调用原始的 DefaultErrorHandler 方法来处理异常,然后用我自己的信息发送我自己的异常,它不会起作用?
猜你喜欢
  • 2013-07-02
  • 1970-01-01
  • 1970-01-01
  • 2014-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-14
  • 1970-01-01
相关资源
最近更新 更多