ACRA 的崩溃报告
步骤 1:将最新 ACRA AAR 的依赖关系添加到应用程序 gradle(build.gradle)
。
第 2 步:在你的应用程序类(扩展 Application 的类;如果不创建它)中添加 @ReportsCrashes
注释并覆盖 attachBaseContext()
方法。
第 3 步:在应用程序类中初始化 ACRA 类
@ReportsCrashes(
formUri = "Your choice of backend",
reportType = REPORT_TYPES(JSON/FORM),
httpMethod = HTTP_METHOD(POST/PUT),
formUriBasicAuthLogin = "AUTH_USERNAME",
formUriBasicAuthPassword = "AUTH_PASSWORD,
customReportContent = {
ReportField.USER_APP_START_DATE,
ReportField.USER_CRASH_DATE,
ReportField.APP_VERSION_CODE,
ReportField.APP_VERSION_NAME,
ReportField.ANDROID_VERSION,
ReportField.DEVICE_ID,
ReportField.BUILD,
ReportField.BRAND,
ReportField.DEVICE_FEATURES,
ReportField.PACKAGE_NAME,
ReportField.REPORT_ID,
ReportField.STACK_TRACE,
},
mode = NOTIFICATION_TYPE(TOAST,DIALOG,NOTIFICATION)
resToastText = R.string.crash_text_toast)
public class MyApplication extends Application {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
// Initialization of ACRA
ACRA.init(this);
}
}
其中 AUTH_USERNAME 和 AUTH_PASSWORD 是你所需后端的凭据。
第 4 步:在 AndroidManifest.xml 中定义 Application 类
<application
android:name=".MyApplication">
<service></service>
<activity></activity>
<receiver></receiver>
</application>
第 5 步:确保你拥有 internet
权限,可以从崩溃的应用程序接收报告
<uses-permission android:name="android.permission.INTERNET"/>
如果你想将静默报告发送到后端,那么只需使用以下方法即可实现。
ACRA.getErrorReporter().handleSilentException(e);