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