Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.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
Acra包不是一个固定错误(Android Studio)_Android_Android Studio_Crash Reports_Acra - Fatal编程技术网

Acra包不是一个固定错误(Android Studio)

Acra包不是一个固定错误(Android Studio),android,android-studio,crash-reports,acra,Android,Android Studio,Crash Reports,Acra,我试图在我的应用程序中使用Acra,我遇到了以下问题。我试图检查Acra的源代码,但仍然无法找出问题所在。我在谷歌上找不到其他任何东西。这两天我都被这件事搞砸了。我知道应该很简单,但我看不出来。我觉得多给我一双眼睛可能会对我有所帮助 03-13 12:52:37.588 332-332/? D/ACRA﹕ ACRA is enabled for com.myapp.application, intializing... 03-13 12:52:37.598 332-332/?

我试图在我的应用程序中使用Acra,我遇到了以下问题。我试图检查Acra的源代码,但仍然无法找出问题所在。我在谷歌上找不到其他任何东西。这两天我都被这件事搞砸了。我知道应该很简单,但我看不出来。我觉得多给我一双眼睛可能会对我有所帮助

03-13 12:52:37.588      332-332/? D/ACRA﹕ ACRA is enabled for com.myapp.application, intializing...
03-13 12:52:37.598      332-332/? D/ACRA﹕ Looking for error files in /data/data/com.myapp.application/files
03-13 12:52:37.598      332-332/? D/ACRA﹕ Looking for error files in /data/data/com.myapp.application/files
03-13 12:52:37.608      332-332/? V/ACRA﹕ About to start ReportSenderWorker from #checkReportOnApplicationStart
03-13 12:52:37.608      332-350/? D/ACRA﹕ #checkAndSendReports - start
03-13 12:52:37.608      332-350/? D/ACRA﹕ Looking for error files in /data/data/com.myapp.application/files
03-13 12:52:37.608      332-350/? I/ACRA﹕ Sending file 1f0d91c8-ca49-4de3-82ac-236d6337a2d1.stacktrace
03-13 12:52:37.618      332-350/? E/ACRA﹕ Failed to send crash reports for 1f0d91c8-ca49-4de3-82ac-236d6337a2d1.stacktrace
    java.lang.IllegalArgumentException: Package is not a constant in org.acra.ReportField
            at java.lang.Enum.valueOf(Enum.java:198)
            at org.acra.CrashReportPersister.load(CrashReportPersister.java:264)
            at org.acra.CrashReportPersister.load(CrashReportPersister.java:75)
            at org.acra.SendWorker.checkAndSendReports(SendWorker.java:140)
            at org.acra.SendWorker.run(SendWorker.java:77)
03-13 12:52:37.618      332-350/? D/ACRA﹕ #checkAndSendReports - finish
这是我的申请文件

@ReportsCrashes(
 formKey = "",
 mailTo = "myemail@anoviceguy.com",
 reportType = org.acra.sender.HttpSender.Type.JSON,
 mode = ReportingInteractionMode.TOAST,
 forceCloseDialogAfterToast = false, // optional, default false
 resToastText = R.string.error_something_went_wrong,
)
public class MyApplication extends Application {

@Override
public void onCreate() {
    ACRA.init(this);
    super.onCreate();
}

@Override
public void onTerminate() {
    super.onTerminate();
}

}

好的,在读取之前生成的崩溃报告时,它遇到了一块数据“包”,它认为这是ReportField的一个实例。但是没有ReportField.PACKAGE,所以它崩溃了

这次事故有两个可能的原因

  • 生成的崩溃报告已损坏
  • 您以前的配置指定了要输出的自定义字段列表,其中包括一个名为“PACKAGE”的字段,ACRA添加了一个没有数据的字段(因为它不理解该字段)
  • 无论哪种情况,解决方案都是清除应用程序的数据。
    在第二种情况下,ACRA可以更好地编写崩溃报告,从而更好地忽略无效配置。使用ACRA记录问题。

    发布您的ACRA配置。ie应用程序类的注释。@William我已经在这里添加了我的应用程序文件。现在很简单,只需将错误日志作为电子邮件发送。非常感谢。