Gradle 配置项目全局共享变量

配置全局共享变量的好处

  • 保持项目中所有的 module 引用的版本一致
  • 如果有更新或更换开发环境,便于统一更改

配置步骤

  1. 项目根目录下新建 common_config.gradle 文件
  2. 在文件中写明整个项目所有 module 中需要的变量,比如 minSdkVersion 等等
  3. 在每个 module 都声明一遍文件的引用,或者,在 project 的 build.gralde 中引用一次
  4. 将所有 module 中的变量都更换为文件中的变量的引用

具体实现

  • 新建 common_config.gralde 文件如下

显然,文件中写明了所有项目需要的变量,至此完成了 1、2 两步

    project.ext {

        //Java 语言有关
        javaVersion = 8
        javaMaxHeapSize = '4G'

        //Android 编译版本相关
        compileSdkVersion = 27
        buildToolsVersion = "25.1.1"
        minSdkVersion = 15
        targetSdkVersion = 27

        //混淆相关
        minifyEnable = true
        shrinkResEnable = minifyEnable

        //JDK 兼容相关
        sourceCompatibility = this.&getJavaVersion()
        targetCompatibility = this.&getJavaVersion()
    }

    def getJavaVersion() {
        switch (project.ext.javaVersion) {
            case "6":
                return JavaVersion.VERSION_1_6
            case "7":
                return JavaVersion.VERSION_1_7
            case "8":
                return JavaVersion.VERSION_1_8
            default:
                return JavaVersion.VERSION_1_6
        }
    }
  • 声明引用,有两种方式(完成 3 )

    • 方式一,在每个 module 中都添加如下代码

      apply from: "${project.rootDir}/common_config.gradle"
      
    • 方式二,在 project 根目录下的 build.gradle 中添加如下代码

      subprojects {
          apply from: "${project.rootDir}/common_config.gradle"
      }
      
  • 在各个 module 中替换变量,示例如下(完成 4 ):

    minSdkVersion project.ext.minSdkVersion
    targetSdkVersion project.ext.targetSdkVersion
    ......
    

猜你喜欢

转载自blog.csdn.net/baidu_33221362/article/details/81711036
今日推荐