Android Studio:对所有模块使用一个版本号

Android Studio:对所有模块使用一个版本号,android,android-studio,gradle,android-gradle-plugin,build.gradle,Android,Android Studio,Gradle,Android Gradle Plugin,Build.gradle,我正在构建一个包含多个模块的复杂项目,这些模块将构建在一起以创建一个分布式sdk。 我的目的是为版本major、minor和revision提供一个变量,稍后将其注入buildConfig。 我不知道怎么做 这就是我迄今为止所尝试的: project1: // PROJECT VERSIONS project.ext { major = 1 minor = 7 revision = 2 } project2: defaultConfig { min

我正在构建一个包含多个模块的复杂项目,这些模块将构建在一起以创建一个分布式sdk。 我的目的是为版本major、minor和revision提供一个变量,稍后将其注入buildConfig。 我不知道怎么做

这就是我迄今为止所尝试的:

project1: 
// PROJECT VERSIONS
project.ext {
    major = 1
    minor = 7
    revision = 2
}



project2:
defaultConfig {
        minSdkVersion 8
        targetSdkVersion 23
        versionCode project(':project1').ext.major 
        versionName "1.0"
    }

谢谢

您可以在项目根目录中的
build.gradle
文件中配置这些值

例如:

ext {
    compileSdkVersion = 23
    buildToolsVersion = "23.0.1"
    minSdkVersion = 15
    targetSdkVersion = 23
}
然后在
模块/build.gradle
中,您可以使用:

android {
    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion

    defaultConfig {
        minSdkVersion  rootProject.ext.minSdkVersion
        targetSdkVersion  rootProject.ext.targetSdkVersion
    }

    //...
}

您可以在项目根目录下的
build.gradle
文件中配置这些值

例如:

ext {
    compileSdkVersion = 23
    buildToolsVersion = "23.0.1"
    minSdkVersion = 15
    targetSdkVersion = 23
}
然后在
模块/build.gradle
中,您可以使用:

android {
    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion

    defaultConfig {
        minSdkVersion  rootProject.ext.minSdkVersion
        targetSdkVersion  rootProject.ext.targetSdkVersion
    }

    //...
}

project2
build.gradle
开头添加以下行:

evaluationDependsOn(':project1')

然后您编写的评估将生效。

project2的
build.gradle
开头添加以下行:

evaluationDependsOn(':project1')
那么你写的评估就行了