【发布时间】:2016-06-13 06:51:07
【问题描述】:
我正在使用最新的 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'
}
我已经在设备上设置了电子邮件帐户。这怎么赶不上应用崩溃?
【问题讨论】:
-
正如在 Github 上指出的那样,您没有使用最新版本的 ACRA(当前为 4.8.2),并且您使用的是来自 ACRA-4.8.2 的配置,与 ACRA-4.6 无关。 2(例如 SenderService)。您还可以同时指定 formUri 和 MailTo。
标签: android debugging logcat error-log acra