【问题标题】:Compilation error after upgrading from ACRA 4.5 to ACRA 4.6从 ACRA 4.5 升级到 ACRA 4.6 后编译错误
【发布时间】:2015-07-21 09:10:56
【问题描述】:

我将我的应用程序使用的 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,
)

这是错误:

Error:(19, 17) error: 找不到符号方法formKey()

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

【问题讨论】:

  • formKey 已被弃用大约 2 年,并在 ACRA-4.6.0 中被删除。这解释了编译错误。提供您遇到的其他错误的一些详细信息。

标签: java android acra


【解决方案1】:

查看 ACRA ChangeLog 后,似乎是 ACRA 在 4.6.0 中的 bug

PR#233 PR#235 允许 BuildConfig 的位置可配置 支持 Gradle 构建风格。注意,如果您的 正在捕获 BuildConfig 并且您的 Application 类不驻留 在原始 AndroidManifest 中定义的 Java 包中 清单:包属性。在这种情况下,您将需要 在您的 ACRA 配置中显式配置“buildConfigClass”。

我刚刚将依赖项升级到 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,
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-10
    • 2013-04-02
    • 1970-01-01
    相关资源
    最近更新 更多