从ACRA 4.5升级到ACRA 4.6后的编译错误

时间:2015-05-11 00:07:22

标签: java android acra

我升级了我的应用程序使用的ACRA库 4.5.0到4.6.0但是我收到了formKey的编译错误 曾经与4.5一起工作。

以下是声明:

@ReportsCrashes(
  formKey = "",
  formUri = "",
  socketTimeout = 10000,
  httpMethod = org.acra.sender.HttpSender.Method.POST,
  mode = ReportingInteractionMode.SILENT,
  resDialogText = R.string.crash_dialog_text,
  resDialogIcon = android.R.drawable.ic_dialog_info,
  resDialogTitle = R.string.crash_dialog_title,
  resDialogCommentPrompt = R.string.crash_dialog_comment_prompt,
)

这是错误:

  

错误:(19,17)错误:找不到符号方法formKey()

我尝试删除formKey,因为它已不再使用了, 来自声明,但在我这样做之后它产生了一个新的错误。

1 个答案:

答案 0 :(得分:7)

检查ACRA ChangeLog后,似乎是4.6.0中的ACRA错误

  

PR#233 PR#235允许BuildConfig的位置可配置   支持Gradle构建风味。 NB这是一个突破性的变化,如果你的   捕获BuildConfig并且您的Application类不驻留   在原始AndroidManifest中定义的Java包中   manifest:包属性。在那种情况下,你需要   在ACRA配置中显式配置'buildConfigClass'。

我刚刚将dependecies升级到4.6.2,错误消失了。 您还需要从注释声明中删除formKey。

dependencies {
  compile 'ch.acra:acra:4.6.2'
}


@ReportsCrashes(
  formUri = "",
  socketTimeout = 10000,
  httpMethod = org.acra.sender.HttpSender.Method.POST,
  mode = ReportingInteractionMode.SILENT,
  resDialogText = R.string.crash_dialog_text,
  resDialogIcon = android.R.drawable.ic_dialog_info,
  resDialogTitle = R.string.crash_dialog_title,
  resDialogCommentPrompt = R.string.crash_dialog_comment_prompt,
)