我第一次尝试配置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).**
但我无法收到任何邮件:(!
答案 0 :(得分:2)
据我所知,mailTo选项需要用户才能发送电子邮件。 发生错误时,必须打开另一个邮件客户端(例如Gmail.apk)以处理崩溃报告并发送电子邮件。因此错误将打开邮件客户端,我们需要用户单击“发送”按钮。
答案 1 :(得分: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,
至少可能是我问题的根源。
答案 2 :(得分:0)
没有使用“mailTo”字段,只使用了@ReportsCrashes(formKey = "formkey")
确保您正确地从谷歌驱动器获取表单密钥
在崩溃时,您将获得有关Google drive excel文件的报告
并确保您已添加Internet权限并在mainfeast中添加“MyApplication”
<manifest ...>
<application ... android:name="MyApplication">
...
</application>
<uses-permission android:name="android.permission.INTERNET">
</uses-permission>
</manifest>
此处提供详细说明http://acra.ch/