Ben*_* P. 9 android static-analysis gradle android-studio
我有一个模块,我知道它包含一些未使用的颜色资源。当我从 Android Studio 运行 lint 时,它包含我期望的输出。但是,当我从命令行运行它时,它没有找到这些未使用的资源。
如何让命令行报告这些未使用的资源(最好作为警告)?
按名称运行检查:
输出:
我的 build.gradle 配置:
lintOptions {
check 'UnusedResources'
}
Run Code Online (Sandbox Code Playgroud)
实际运行任务:
$ ./gradlew :lib:lint
> Task :lib:lint
Ran lint on variant release: 0 issues found
Ran lint on variant debug: 0 issues found
BUILD SUCCESSFUL in 2s
Run Code Online (Sandbox Code Playgroud)
我知道 gradle 配置正在“工作”,因为如果我删除该check 'UnusedResources'行,它会发现其他问题(check使其仅运行一次检查)。同样值得注意的是,指定check 'ThisIsObviouslyNonsense'给出了相同的输出(发现零问题的“成功”运行)。
我无法提供真正的源代码,但在新项目中重现该问题非常简单。
<color name="unused">#f00</color>app/build.gradle并执行以下操作:
apply plugin: 'com.android.application'为apply plugin: 'com.android.library'applicationId行defaultConfiglintOptions块添加到android块中:lintOptions {
check 'UnusedResources'
}
Run Code Online (Sandbox Code Playgroud)
现在转到命令行并运行./gradlew lint. 您将看到 0 个问题。
值得注意的是,在将模块转换为库之前似乎一切正常(运行 lint 检测未使用的颜色资源就好了)。这可能与图书馆资源被视为“公共”这一事实有关……但在我的真实图书馆中,我们明确声明资源默认为私有。
| 归档时间: |
|
| 查看次数: |
984 次 |
| 最近记录: |