我升级了我的应用程序使用的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,因为它已不再使用了, 来自声明,但在我这样做之后它产生了一个新的错误。
答案 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,
)