ACRA从注解迁移至PluginConfigurations配置方案求助
ACRA 5.8.4 升级到5.9.6:注解转PluginConfigurations配置方案
直接替换为以下代码即可,核心是通过DialogConfigurationBuilder和MailSenderConfigurationBuilder分别构建原注解对应的插件配置,再传入核心配置的withPluginConfigurations方法:
package com.mycompany.myapp; import android.app.Application; import android.content.Context; import androidx.multidex.MultiDex; import org.acra.ACRA; import org.acra.config.CoreConfigurationBuilder; import org.acra.config.DialogConfigurationBuilder; import org.acra.config.MailSenderConfigurationBuilder; import org.acra.reporting.StringFormat; public class MyAwsomeApplication extends Application { @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); // 构建核心配置(对应原@AcraCore注解) CoreConfigurationBuilder coreBuilder = new CoreConfigurationBuilder() .withBuildConfigClass(BuildConfig.class) .withReportFormat(StringFormat.JSON); // 构建对话框插件配置(对应原@AcraDialog注解) DialogConfigurationBuilder dialogBuilder = new DialogConfigurationBuilder() .withResTitle(R.string.acratitle) .withResText(R.string.acratext) .withResPositiveButtonText(R.string.acrasend) .withResNegativeButtonText(R.string.acracancel) .withResCommentPrompt(R.string.acracomprompt); // 构建邮件发送器插件配置(对应原@AcraMailSender注解) MailSenderConfigurationBuilder mailBuilder = new MailSenderConfigurationBuilder() .withMailTo("myemail@mydomain.com") .withResSubject(R.string.mailsubject); // 注入插件配置 coreBuilder.withPluginConfigurations(dialogBuilder, mailBuilder); ACRA.init(this, coreBuilder); } }
参数对应说明
- 原
@AcraCore的配置项,直接映射到CoreConfigurationBuilder的同名方法 - 原
@AcraDialog的resXXX参数,对应DialogConfigurationBuilder的withResXXX方法 - 原
@AcraMailSender的配置项,对应MailSenderConfigurationBuilder的withMailTo、withResSubject方法
内容的提问来源于stack exchange,提问作者briast
相关产品推荐
相关产品推荐

