Библиотека сбоев приложений ACRA не перехватывает исключение устройства

Я использую последнюю библиотеку ACRA, чтобы получить отчет о сбое с реального устройства Android. Однако, когда приложение дает сбой, ACRA Toast показывает, и я не могу получить отчет о сбое.

Вот мой MainApplication.java:

package com.mydomain.myapp;

import android.app.Application;
import android.content.res.Configuration;

import org.acra.ACRA;
import org.acra.ReportField;
import org.acra.ReportingInteractionMode;
import org.acra.annotation.ReportsCrashes;

@ReportsCrashes(formUri = "http://example.com/debug.php", mailTo = "[email protected]", //formUri ="http://yourserver.com/yourscript",
  customReportContent = { ReportField.APP_VERSION_CODE,    ReportField.APP_VERSION_NAME, ReportField.ANDROID_VERSION, ReportField.PHONE_MODEL, ReportField.CUSTOM_DATA, ReportField.STACK_TRACE, ReportField.LOGCAT },
  mode = ReportingInteractionMode.TOAST,
  //mode = ReportingInteractionMode.SILENT //,
resToastText = R.string.crash_toast_text) //, logcatArguments = { "-t", "100", "-v", "long", "ActivityManager:I", "MyApp:D", "*:S" }
public class MyMapApp extends Application {

@Override
public void onConfigurationChanged(Configuration newConfig) {
  super.onConfigurationChanged(newConfig);
}

@Override
public void onCreate() {
  ACRA.init(this); //switching this did not work with super.onCreate()
  super.onCreate();

  // The following line triggers the initialization of ACRA



}

@Override
public void onLowMemory() {
  super.onLowMemory();
}

@Override
public void onTerminate() {
  super.onTerminate();
}


}

AndroidMainfest.xml

<application
android:name=".MyMapApp"

...

<service
android:name="org.acra.sender.SenderService"
android:exported="false"
android:process=":acra" />

построить.градле:

dependencies {
  compile 'ch.acra:acra:4.6.2'
}

Я уже настроил учетную запись электронной почты на устройстве. Почему это не догоняет крах приложения?


person user914425    schedule 01.03.2016    source источник
comment
Как указано на Github, вы не используете последнюю версию ACRA (которая в настоящее время 4.8.2), и вы используете конфигурацию из ACRA-4.8.2, которая не относится к ACRA-4.6.2 (например, SenderService). Вы также указываете как formUri, так и MailTo.   -  person William    schedule 01.03.2016


Ответы (1)


Я обнаружил основные библиотеки, в которых происходит сбой программы. ACRA отлавливает сбои только в виртуальной машине Java. Пришлось сначала рутировать устройство. Используя adb, зайдите в /data/towbstone/ и запишите туда файлы дампа. Это сказало мне, какие именно библиотеки вызывают сбой приложения.

person user914425    schedule 02.04.2016