ACRA,重写发送是自定义的ReportSender从未被调用



我最近将ACRA升级到4.5.0版本,并且我的自定义ReportSender中的发送方法不再被调用。

通过查看日志,它看起来像是试图将崩溃报告上传到Google Docs。

我把我们的一些代码包含在下面。

自定义ReportSender:

public class AcraPassportSender implements ReportSender {
    ...
    public AcraPassportSender(int versionCode, boolean isStoreVersion){
    ...
    }
    @Override
    public void send(CrashReportData report) throws ReportSenderException {
        PLog.i(TAG, "Attempting to create and upload a bug report");
    ...
    }
}

应用程序类:

@ReportsCrashes(formKey="")
public class MyApp extends Application {
    @Override
    public void onCreate() {
        ACRA.init(this);
        AcraPassportSender acsender = new AcraPassportSender(version, isStoreVersion);
        ACRA.getErrorReporter().setReportSender(acsender);
    }
}

日志显示ACRA初始化。在我升级ACRA之前,这是有效的。你知道这里会发生什么吗?

你可以在ACRA的网站上找到以下句子:

自从Google最近更新了Google表单,Google的使用文档作为ACRA报告的存储引擎现在不支持了。

据我所知,Google Forms是ACRA中默认的崩溃报告方法。你可以看看GitHub上的ACRA项目,并尝试使用不同于Google Forms的报告方法。

此外,我建议您使用像Crashlytics这样的工具,它比ACRA更好,允许您收集崩溃报告并监视应用程序。请注意,Crashlytics已被Twitter收购,现在可以在fabric下使用。io域。您还可以使用付费工具,如Bugsnag或创建您自己的报告解决方案。

ACRA的最新版本是4.6.2。我建议升级到那个版本。

在4.6.0中删除了

GoogleFormSender。除此之外,很难知道发生了什么,因为你没有为你的发送者发布代码,也没有发布你的日志。

我建议先升级到4.6.2,然后重新评估。

相关内容

  • 没有找到相关文章

最新更新