如何跨模块共享 Android lintOptions

How to share Android lintOptions across modules

我正在构建一个多模块应用程序,在每个模块中我都有如下 lint 设置

android {
   ...
   lintOptions {
        quiet true
        abortOnError false
        warningsAsErrors true
   }
   ...
}

在所有模块中重复这样的设置是乏味的,所以我正在寻找一种方法来编写一次并在所有模块中共享它。

我知道有类似 lint.xml 的东西,但我相信它不适用于这些配置。 如果它不是 android 块的一部分,它可以轻松地创建类似 lint.gradle 的内容,并使用 apply from 到 link 从所有模块到该文件。但是,由于它在 android 之内,我不确定是否有办法做到这一点?

您可以有一个 .gradle 文件,其中包含您想要共享的 lintOptions,并且在您模块的 build.gradle 上,您可以使用 apply from,例如,您可以在根目录中设置 android-module-base.gradle,其中包含您要共享的 lintOptions

android {
...
    lintOptions {
        quiet true
        abortOnError false
        warningsAsErrors true
    }
...
}

然后在你模块的 build.gradle 上,把这一行放在开头:

apply from: "$rootDir/android-module-base.gradle"