我正在使用最新的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 = "myname@mydomain.com", //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" />build.gradle:
dependencies {
compile 'ch.acra:acra:4.6.2'
}我已经在设备上设置了电子邮件帐户。为什么这不能赶上应用程序崩溃?
发布于 2016-04-02 10:14:56
我找出了导致程序崩溃的核心库。ACRA仅在Java虚拟机中捕获崩溃。我必须先启动这个设备。使用adb进入/data/towbstone/并将转储文件归档到那里。这告诉了我应用程序崩溃的确切位置。
https://stackoverflow.com/questions/35712992
复制相似问题