我升级了我的应用程序使用的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,因为它不再使用了,从声明中,我这样做后会产生新的错误。
检查ACRA ChangElog后,它似乎是4.6.0
中ACRA的错误pr#233 pr#235允许buildConfig的位置可配置 支持Gradle建立口味。nb,如果您的 正在捕获buildConfig,您的应用程序类不存在 在您的原始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,
)