验证ACRA是否正常工作

时间:2014-01-06 11:52:28

标签: android acra

我即将发布一个应用,我看到了this stackoverflow question关于在发布应用之前应该做的事情。它告诉我使用ACRA,所以我按照this page上的说明进行操作。

所以知道我有一个名为MyApplication的课程,如此:

import android.app.Application;
import org.acra.*;
import org.acra.annotation.*;

@ReportsCrashes(formKey = "", // will not be used
    mailTo = "c@gmail.com",
    mode = ReportingInteractionMode.TOAST,
    customReportContent = { ReportField.APP_VERSION_CODE, ReportField.APP_VERSION_NAME, ReportField.ANDROID_VERSION, ReportField.PHONE_MODEL, ReportField.CUSTOM_DATA, ReportField.STACK_TRACE, ReportField.LOGCAT },   
    resToastText = R.string.crash_report_text)
public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();

        // The following line triggers the initialization of ACRA
        ACRA.init(this);
    }
}

现在显然当我的应用程序崩溃时,我认为用户应该能够以某种方式发送报告,所以我在我的应用程序中放了一个空指针,但它只是崩溃而没有任何反应。我该怎么办?

1 个答案:

答案 0 :(得分:1)

我猜您可能没有在BugSense上注册您的应用

您要发送仅在您身上泄露的崩溃报告的位置。当您使用 Google文档deprecated now)时,您必须使用从Google文档文档中获得的formKey

如果要将报告存储在自己的服务器上,可以将formKey字段留空。您唯一需要做的就是为服务器(formUri = ....)输入有效的网址。

其他字符串用于对话框类型,应该或不应该出现。

您可以使用 BugSense ,而不是使用自己的服务器。请参阅stackoverflow上的this线程。

  • 由于ACRA不推荐使用 Google文档。我建议您使用**BugSense**作为后端服务:
  

1。访问他们的网站并登录:http://www.bugsense.com/

     

2。创建一个要在BugSense网站中监控的新项目,因此您将收到此应用的API Key

     

3. 最后将此行添加到项目中的Application类:

     

@ReportsCrashes(formUri =“http://www.bugsense.com/api/acra?api_key=YOUR_API_KEY”,formKey =“”)

查看BugSense Docmentation