我即将发布一个应用,我看到了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);
}
}
现在显然当我的应用程序崩溃时,我认为用户应该能够以某种方式发送报告,所以我在我的应用程序中放了一个空指针,但它只是崩溃而没有任何反应。我该怎么办?
答案 0 :(得分:1)
我猜您可能没有在BugSense上注册您的应用
您要发送仅在您身上泄露的崩溃报告的位置。当您使用 Google文档(deprecated now)时,您必须使用从Google文档文档中获得的formKey
。
如果要将报告存储在自己的服务器上,可以将formKey
字段留空。您唯一需要做的就是为服务器(formUri = ....)
输入有效的网址。
其他字符串用于对话框类型,应该或不应该出现。
您可以使用 BugSense ,而不是使用自己的服务器。请参阅stackoverflow上的this线程。
**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 =“”)