gradle使用变量技巧

参考博客:https://blog.csdn.net/u012982629/article/details/81121717

  • rootProject.ext
    app:build.gradle 文件内容:引用rootProject.ext.
android {
	//这里应用的是根目录下的build.gradle中的ext{}的内容
    compileSdkVersion rootProject.ext.compileSdkVersion
    
	defaultConfig {
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
    }
 ....
 }

上面引用rootProject.ext.xxx实际上是根目录下build.gradle里面ext的内容
根目录build.gradle文件内容:

...
ext {
    compileSdkVersion = 28
    supportLibVersion = '28.0.3'
    minSdkVersion = 21
    targetSdkVersion = 26
    versionCode = 47
    versionName = "1.0.0.47"
}
...
  • def

app:build.gradle 文件内容,引用${releaseTime()}

def releaseTime() {
    return new Date().format("yyyy-MM-dd", TimeZone.getTimeZone("UTC"))
}

applicationVariants.all { variant ->
        variant.outputs.all {
            // 输出apk名称为dainty_v1.0_2018-xx-xx_xxxx.apk
            def fileName = "rocketb_${defaultConfig.versionName}_${releaseTime()}.apk"
            outputFileName = fileName

        }
    }
  • defaultConfig
    app:build.gradle 文件内容,引用${defaultConfig.xxxx}
android {
    ...
    defaultConfig {
		...
        versionCode 47
        versionName "1.0.0.47"
		...
    }
	
	 applicationVariants.all { variant ->
        variant.outputs.all {
            // 输出apk名称为dainty_v1.0_2018-xx-xx_xxxx.apk
            def fileName = "rocketb_${defaultConfig.versionName}_${releaseTime()}.apk"
            outputFileName = fileName

        }
    }
    ...
}
  • System.env.xx
    app:build.gradle 文件内容,引用${System.env.xx},xxx是根目录gradle.properties文件里的参数
signingConfigs {

        ...
        releaseConfig {
            storeFile     "${System.env.MY_APP_PRIVATE_KEY}"
            keyAlias      "${System.env.MY_APP_ALIAS}"
        }
       ...
    }

gradle.properties的文件内容:

...
MY_APP_PRIVATE_KEY="xxx"
MY_APP_ALIAS="x"
...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值