我正在开发一个应用程序,其中我已经实现了用于日志报告的ACRA,默认情况下在我的应用程序配置中实现并激活了该应用程序。但是,当我开发并进入典型的试错阶段时,我的开发设备会发送许多我感兴趣的虚拟错误报告(因为我拥有日食的所有信息(。
这很烦人,因为我需要在分析器中丢弃大量报告。
我想做的是有一种方法来配置 ACRA,对于特定的设备 ID,它不会发送报告。某种设备过滤,允许我在不使用多个报告填充数据库的情况下进行开发。
我一直在浏览ACRA高级使用的文档,但一直找不到它。我想到的唯一选择是在开发时评论对 ACRA 构造函数的调用,以便稍后在执行应用程序发布时激活它。
有没有其他选择可以更持久地解决此问题,避免我修补临时文件?
我使用这样的东西作为我的开发报告发送者:
private static class DummyReportsSender implements ReportSender
{
@Override
public void send(CrashReportData arg0) throws ReportSenderException
{
//Dummy Reporter - nothing send
}
}
然后在应用程序#onCreate((:
if (BuildConfig.DEBUG)
{
ACRA.getErrorReporter().setReportSender(new DummyReportsSender());
}
办法用ACRA OOTB做到这一点。
您可以在调用 ACRA 后重写和修饰 DefaultExceptionHandler,并忽略特定的 Exception 实例。但这对我来说听起来有点矫枉过正。
要么使用不同的 Acralyzer 实例进行开发,要么删除/忽略您的开发异常。
我的开发异常总是 -SNAPSHOT,因此它们很容易被忽略。