Android Studio的lint报告显示“无法推断参数类型”。

36
我已经审查了通过执行以下命令提供的Android Studio项目的检查报告:

Inspection report for my project that is provided by Android Studio after having executed the following command:


Analyze->Inspect Code...

报告显示我在gradle.build文件中的这个代码片段存在问题:

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

具体问题是无法推断参数类型(位于第34行)。 我已经包含了一个快照以供参考。

Android Studio lint Inspection complaint

一篇SO 答案似乎表明这只是一个虚假警告。 如果是这样,我可以安全地忽略此警告吗?

1个回答

44

你(很可能)可以安全地忽略这个警告。IntelliJ (Android Studio) 的 Groovy 检查工具是不错的,但远非完美。我有几个高级的 Gradle 构建脚本都充斥着这些和其他检查错误,但所有东西都能正确运行。然而,如果你犯了编程错误,检查工具是技术上正确的,但只有在尝试执行构建脚本时才会发现。

对于这个特定的警告,您可以通过逐行使用以下方法关闭它:

//noinspection GroovyAssignabilityCheck

您也可以通过转至文件 > 设置 > 检查并在过滤框中键入Incompatible type assignments,取消选中该检查选项,完全关闭它。在那里,如果您想同时关闭其他选项,还可以配置所有Groovy检查选项。


2
那么,如果这个警告是正确的,我们在构建时会遇到关于它的错误,对吧? - rpattabi
2
@rpattabi “Building”这个词有些模糊。当特定语句被评估时,您将在运行时收到错误。例如,如果在运行assembleDebug时发生这种情况,那么是的。 - Jeffrey Mixon
明白了。对于这里展示的例子,错误将出现在签名apk时。我只是想确保签名不会悄无声息地失败。我得到了相同的lint警告,并且在签名时没有错误。所以我认为在这种情况下可以安全地忽略这个警告。 - rpattabi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接