Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 确认ACRA正在工作_Android_Acra - Fatal编程技术网

Android 确认ACRA正在工作

Android 确认ACRA正在工作,android,acra,Android,Acra,我正要发布一个应用程序,我看到了在发布应用程序之前你应该做的事情。它告诉我使用ACRA,所以我按照上的说明操作 所以我知道我有一个叫做MyApplication的类,就像这样: import android.app.Application; import org.acra.*; import org.acra.annotation.*; @ReportsCrashes(formKey = "", // will not be used mailTo = "c@gmail.com",

我正要发布一个应用程序,我看到了在发布应用程序之前你应该做的事情。它告诉我使用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
字段留空。你唯一需要做的就是输入一个有效的url到你的服务器
(formUri=..)

其他字符串用于对话框的类型,应该显示或不应该显示

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

  • 由于ACRA不推荐使用谷歌文档。我建议您使用
    **BugSense**
    作为后端服务:
1.访问他们的网站并登录:

2.创建一个新项目以在
BugSense
站点中进行监控,因此您将收到此应用程序的
API密钥

3.最后将这一行添加到项目中的应用程序类中:

@ReportsCrashes(formUri=“”,formKey=“”)


查看

@blackbelt,即使它在我的模拟器上崩溃?不,它不是真的,因为@Clay您已将错误通知模式定义为Toast,那么当应用程序中出现错误时,它应该向您显示Toast消息。您是否已注册应用程序并在google console中生成密钥?不,它几乎完成了。另外,我应该将通知模式更改为什么?没有电子邮件选项。您是否生成了
formKey
?我注册并获得了api密钥等。我使我的应用程序崩溃,但它没有发送任何内容。这可能是因为它不能在android模拟器上运行吗?它一定是在一个真正的设备上崩溃了?嘿,它正在成功地将错误发送到bugsense,我可以看到它。谢谢。然而,祝酒词没有出现。它只是说,不幸的是,国际象棋已经停止工作。我想让用户知道已经发送了崩溃报告。我该怎么做?您可以通知用户使用Toast消息,只需修改Toast消息。或者,如果要向用户显示已发送崩溃报告的通知,则可以显示通知的警报对话框模式。