如何跨模块共享 Android lintOptions

问题描述

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

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

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

我知道有类似 lint.xml 的东西,但我相信它不适用于这些配置。 如果它不是 android 块的一部分,它可以轻松创建类似 lint.gradle内容并使用 apply from 从所有模块链接到该文件。但是,由于它在 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"