Android Studio lint报告"无法推断参数类型".

gon*_*ins 36 android lint gradle android-studio

我已经查看了执行以下命令后Android Studio提供的项目的检查报告:

Analyze->Inspect Code...
Run Code Online (Sandbox Code Playgroud)

该报告指出我的gradle.build文件中此代码段存在问题:

buildTypes {
    release {
        runProguard false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        signingConfig signingConfigs.release
    }
}
Run Code Online (Sandbox Code Playgroud)

具体问题是cannot infer argument types (at line 34).为清晰起见,我已包含快照.

Android Studio lint检查投诉

一个答案似乎表明这只是一个虚假的警告.如果是这种情况,我可以安全地抑制此警告吗?

Jef*_*xon 43

您(很可能)可以安全地忽略此警告.IntelliJ(Android Studio)Groovy检查很不错,但远非完美.虽然一切都正常运行,但我有几个高级的Gradle构建脚本,这些脚本充满了这些和其他检查错误.但是,您可能会出现编程错误并且检查在技术上是正确的,但是一旦您尝试执行构建脚本,您就会发现它.

对于此特定警告,您可以使用在线旁边将其关闭

//noinspection GroovyAssignabilityCheck
Run Code Online (Sandbox Code Playgroud)

您也可以通过转到文件>设置>检查完全关闭它,然后键入Incompatible type assignments过滤器框并取消选中该检查选项.如果您想关闭其他选项,您还可以配置所有Groovy检查选项.

  • 所以,如果这个警告是正确的,我们会在构建时遇到错误,对吗? (2认同)
  • @rpattabi"建筑"是一个有点含糊不清的术语.在评估该特定语句时,您将在运行时收到错误.如果在运行`assembleDebug`时发生这种情况,那么就是. (2认同)