项目级或全局build.gradle中的公共gradle配置

时间:2016-09-16 01:16:18

标签: android gradle

我有一个项目,其中包含多个模块,每个模块都有一个与所有模块相同的signingConfig。我想将该唱歌配置移动到位于项目根目录的全局平台上,以摆脱该配置的冗余。

与androidTestCompile相同的问题,如果我将它移动到全局build.gradle,我会收到错误。有没有人有关于如何将其移至全球平台的经验?

顺便说一句,有理由说我总是在每个模块中签署我的应用程序,一个用于单元和仪器测试,因为测试只会覆盖该特定模块和其他模块。

感谢。

1 个答案:

答案 0 :(得分:0)

您可以在Gradle工具中使用“apply”命令,如下所示:

apply from: "${rootDir}/config/common.gradle"

在common.gradle文件中,您可以编写常用设置,例如

android{

    Properties configs = new Properties()
    ....

    defaultConfig {
       ... 
    }

    buildTypes {
        sourceSets {
            main {
                aidl.srcDirs = ['src/main/java']
            }
        }
    }

    packagingOptions {
          ...
    }
}

然后你可能有一个简洁的build.gradle。

文件结构如下所示:

rootDir
 |
 |-- config
 |      | -- common.gradle
 |      | -- util.gradle
 |
 |-- moduleA
 |      | -- build.gradle
 |      | -- src
 |
 |-- moduleB
 |      | -- build.gradle
 |      | -- src
 ...
 |
 |-- settings.gradle
 |-- build.gradle