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);