Подтвердить что ты не робот

Android - как отправлять отчеты о сбоях?

Похоже, что с Android 2.2 появилась новая функция для отправки отчетов о сбоях, как указано в ссылках:

Как использовать эту функцию? Автоматически ли это для каждого приложения, загруженного с рынка (например, в Google Play Store)? Где я могу найти дополнительную информацию об этой функции?

Кроме того, можно ли настраивать отправленное сообщение, возможно, используя DefaultExceptionHandler, и поместить наше собственное описание сбоя?

ПРИМЕЧАНИЕ: Я знаю, что существует множество инструментов для отправки отчетов о сбоях (например, ACRA) но сначала я хочу проверить, можно ли использовать то, что уже дано.

EDIT: Мне удалось изменить исключение, которое передается дальше, надеясь, что это также изменит отчет, отправленный на веб-сайт разработчика Google.

Вот пример кода, который имеет отношение к этому:

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
}
4b9b3361

Ответ 1

То, что вы описали, похоже на функцию сборки, и, насколько я знаю, вы не можете настроить это. Данные будут отправлены в аккаунт googlePlay dev, который загрузил приложение. Я видел настройки, созданные Sense или Custom Roms. Единственный способ получить ваши собственные журналы - использовать DefaultErrorHandler, о котором вы упомянули. В качестве хорошей практики я бы проверял, если вы можете поймать ошибку самостоятельно (возможно, запишите ее где-нибудь). Если бы я не перевернул эту ошибку, чтобы дать пользователю возможность дать вам подсказки, что он сделал