5

我正在尝试第一次配置 ACRA。我遵循了基本设置指南:

1.将acra jar文件集成到我的应用程序中

2.创建了一个扩展应用程序类的新类,并在其中添加了以下代码:

     @ReportsCrashes(formKey = "", // will not be used
     mailTo = "mymailId@gmail.com")
     public class MyApplication extends Application
     {
         @Override
        public void onCreate() 
        {
            super.onCreate();
            ACRA.init(this);
        }
     }

3.对清单文件进行所有必要的更改

似乎一切都正确完成了,我可以在 logcat 中得到以下内容:

12-21 14:59:10.994: D/ACRA(28728): ACRA is enabled for com.android.demo.notepad1, intializing...
12-21 14:59:11.064: D/ACRA(28728): Using default Mail Report Fields
12-21 14:59:11.064: D/ACRA(28728): Looking for error files in /data/data/com.android.demo.notepad1/files
12-21 14:59:11.074: W/ACRA(28728): **com.android.demo.notepad1 reports will be sent by email (if accepted by user).**

但我无法收到任何邮件:(!

4

3 回答 3

2

据我所知,mailTo 选项需要用户才能发送电子邮件。当发生错误时,必须打开另一个邮件客户端(例如 Gmail.apk)来处理崩溃报告并发送电子邮件。所以错误会打开一个邮件客户端,我们需要用户点击发送按钮。

于 2014-01-16T11:32:52.537 回答
1

虽然有点晚了,但无论如何有人可能会发现它很有用......

我确实在 ACRA 4.5.0 上遇到了至少一个类似的问题,一旦实际设置了所有其他配置选项,我就能够解决这个问题。这意味着——尽管部分标记为可选——我必须为以下选项赋值(在@ReportsCrashes注释中)

  • resDialogText = R.string.crash_dialog_text, // Text to display upon crash
  • resDialogIcon = android.R.drawable.ic_dialog_info, //optional (apparently not). default is a warning sign
  • resDialogTitle = R.string.crash_dialog_title, // optional (apparently not). default is your application name
  • resDialogCommentPrompt = R.string.crash_dialog_comment_prompt, // optional (apparently not). when defined, adds a user text field input with this text resource as a label
  • resDialogOkToast = R.string.crash_dialog_ok_toast // optional (apparently not). displays a Toast message when the user accepts to send a report.

虽然我已经mode = ReportingInteractionMode.DIALOG,设置了至少可能是我的问题的根源。

于 2013-07-25T09:00:52.703 回答
0

没有使用“mailTo”字段,只使用过@ReportsCrashes(formKey = "formkey")
确保您从谷歌驱动器正确获取表单密钥并且在崩溃时您将获得关于谷歌驱动器excel文件的报告并确保您添加了互联网权限并添加了“MyApplication”在主宴

<manifest ...>
  <application ... android:name="MyApplication">
    ...
  </application>
  <uses-permission android:name="android.permission.INTERNET">
  </uses-permission>
</manifest>

此处提供了详细说明http://acra.ch/

于 2013-01-16T15:37:49.413 回答