7

我正在尝试将我的应用程序中的崩溃报告发送到我的域或邮件,但仍然失败。

为了在邮件中获取崩溃报告,我做到了

@报告崩溃(

      formKey = "",
      mailTo = "abc@gmail.com"
  )

响应是,发送文件 1372758321000-approved.stacktrace

checkAndSendReports - 完成

为了在我的域中获取崩溃报告,我做了

@报告崩溃(

      formKey = "",
      formUri = "http://www.abc.com/test1"
)

响应是,发送文件 1372856882000-approved.stacktrace 无法发送 1372856882000-approved.stacktrace 的崩溃报告 org.acra.sender.ReportSenderException:通过 Http POST 发送 FORM 报告时出错

任何帮助对我来说都会很方便并受到赞赏。

4

3 回答 3

27

当我完全按照他们在他们的文档中所说的那样做时,ACRA 会为我通过电子邮件发送报告:

@ReportsCrashes(mailTo = "reports@yourdomain.com", // my email here
                mode = ReportingInteractionMode.TOAST,
                resToastText = R.string.crash_toast_text)

https://github.com/ACRA/acra/wiki/Report-Destinations#sending-reports-by-email

你可能忘记了吐司部分。或者可能是您没有电子邮件程序(例如当您在模拟器上运行时)。

我认为不再支持通过 Google 文档发送报告。

于 2013-07-04T06:33:40.187 回答
6

您的应用程序类应如下所示。

import android.app.Application;

    import org.acra.ACRA;
    import org.acra.ReportField;
    import org.acra.ReportingInteractionMode;
    import org.acra.annotation.ReportsCrashes;


    @ReportsCrashes(mailTo = "user@domain.com", customReportContent = {
            ReportField.APP_VERSION_CODE, ReportField.APP_VERSION_NAME,
            ReportField.ANDROID_VERSION, ReportField.PHONE_MODEL,
            ReportField.CUSTOM_DATA, ReportField.STACK_TRACE, ReportField.LOGCAT},
            mode = ReportingInteractionMode.TOAST, resToastText = R.string.crash_toast_text)
    public class MyApplication extends Application {

        @Override
        public void onCreate() {
            super.onCreate();
            ACRA.init(this);
        }
    }
于 2016-11-18T07:21:25.317 回答
3

不,不像Alex说的,mode属性和reporting类型没有关系,你可以在github的源代码中使用mailTo类型看到它,你应该确保:

  1. 您的应用程序具有连接网络的权限;
  2. 在你的设备中有一个电子邮件程序,就像 Alex 说的那样;
  3. 您是否在应用程序的 oncreate() 中调用了 ACRA.init(this) 方法?

如果所有这些都完成了,然后运行您的应用程序,它会提示您配置电子邮件,例如用户名和密码等。

于 2013-07-04T09:27:05.687 回答