动态versioncode_在 Android studio 中 配置Gradle 做到 “根据命令行提示符生成指定versionCode, versionName,指定apk的打包输出路径”...

这篇博客介绍了如何在Android Studio中使用Gradle脚本,以便在jenkins打包时支持参数化配置,包括versionCode、versionName、输出路径和服务器地址等。通过在命令行传递参数,如`gradle assembleBeta -PVERSION_CODE_PARA=101 -PVERSION_NAME_PARA=fd21.0 -POUT_PUT_DIR_PARA=/path/to/output`,并在Gradle脚本中解析这些参数,实现了动态修改构建配置。示例代码展示了如何在`defaultConfig`和`buildTypes`中使用这些参数,并自定义APK的输出路径和名称。
摘要由CSDN通过智能技术生成

需求:

1. 使用 Android studio ,使用 gradle 进行构建

2. 在实际开发中,我们需要使用jenkins进行打包。就需要配置我们的 gradle 脚本以支持参数化的方式。

3. 想获得一个可配置打包脚本的方法,允许 配置人员根据需要修改 服务器地址,versionCode, versionName 等

4. 隔离的源代码的配置,使用者在 jenkins里进行配置。

概述:

先展示我配置好的 参数,可以在命令提示行下执行,如下:

gradle assembleBeta -PVERSION_CODE_PARA=101 -PVERSION_NAME_PARA=fd21.0 -POUT_PUT_DIR_PARA=/Users/zhangyunfei/Desktop/yyy -PAPI_HOST_USER_PARA=http://10.0.1.245:9000 -PAPI_HOST_CABZOO_PARA=http://10.0.1.245:9002 -POUT_PUT_APK_SUFFIX_PARA=245

参数说明:

1. assembleBeta 其中 Beta是我配置好的 构建任务,

2. -P标示后面跟的内容是参数,比如:

-PVERSION_CODE_PARA=101 表示 传入一个 VERSION_CODE_PARA 参数,它的值是 101

这里的参数都是自定义的,我在这里参入了多个参数,有 versionName,versionCode ,输入文件路径,和 指定的服务器地址。

实现:

修改versionCode和 versionName

上面的演示中,我们传入了gradle的参数,如何在gradle中使用呢? 下面是我配置 versionCode和 versionName 的代码,示例如下:

defaultConfig {

minSdkVersion14targetSdkVersion19signingConfig signingConfigs.debug

buildConfigField("String", "API_HOST_USER", "\"http://10.0.1.232:9000\"")

buildConfigField("String", "API_HOST_CABZOO", "\"http://10.0.1.232:9002\"")

buildConfigField("Boolean", "IS_CHECK_VERSION_UPDATE", "true")if (project.hasProperty('VERSION_CODE_PARA')) {

versionCode Integer.parseInt(VERSION_CODE_PARA)

}if (project.hasProperty('VERSION_NAME_PARA')) {

versionName VERSION_NAME_PARA

}

}

我们需要配置 defaultConfig 节点,读取上面传入的参数的值作为 versionCode或者 versionName。在读取参数的时候,我们先检查参数是否存在,使用代码:

project.hasProperty('参数名')所有通过命令行传入的参数都或作为 project 内建对象的属性,我们这里判断了 指定的参数名 是否存在。如何使用参数呢?直接使用即可,比如下面:

versionCode Integer.parseInt(VERSION_CODE_PARA) 注意这里,进行了 转型,从字符串转型为 int 类型

versionName VERSION_NAME_PARA

和普通的变量使用方法是一样的。我们还会遇到在 字符串中使用的时候,可以使用 表达式 来引用,比如:<

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值