我正要发布一个应用程序,我看到了一个关于发布应用程序之前应该做什么的stackoverflow问题。它告诉我使用ACRA,所以我遵循了本页的说明。
我有一个叫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);
}
}
现在很明显,当我的应用程序崩溃时,我认为用户应该能够以某种方式发送报告,所以我在应用程序中放置了一个空指针,但它只是崩溃了,什么也没发生。我还应该做什么吗?
我想您可能没有在BugSense上注册您的应用程序
你想发送崩溃报告的地方,只取决于你自己。当您使用谷歌文档(现在已弃用)时,您必须使用从谷歌文档中获得的formKey
。
如果要将报告存储在自己的服务器上,可以将formKey
字段留空。您唯一需要做的就是向服务器(formUri = ....)
输入一个有效的url。
其他字符串用于对话框的类型,应该或不应该出现。
您可以使用BugSense,而不是使用自己的服务器。请参阅stackoverflow上的此线程。
- 由于ACRA不赞成使用谷歌文档我建议您使用
**BugSense**
作为后端服务:
1.转到他们的网站并登录:http://www.bugsense.com/
2.在
BugSense
站点中创建一个要监视的新项目,因此您将收到此应用程序的API Key
。3.最后将此行添加到项目中的应用程序类:
@报告皮疹(formUri="http://www.bugsense.com/api/acra?api_key=YOUR_API_KEY",formKey=")
查看BugSense文档