android+动画打包命令,Android动态打包+传参方法

需求背景

通常我们的应用都会有开发环境(也可以理解为debug环境)、测试环境、预发环境、正式环境区分,我想要不改代码就可以打出我想要环境的包。比如我现在分别想要一个测试环境的包和一个线上环境的包,但是我又不想改代码

每次发布的时候发现版本号和版本名忘记改了

我想要随时指定一个目录,将打包好的文件放在这里面

我想要在打包时可以自定义安装包的文件名

我想要每次打包的时候可以随意打各个环境的包

解决办法

很简单,如果你不想改代码又想要得到不同环境的包,那当然是使用Gradle的命令,前面说过Gradle命令后面可以加上Task的name直接执行Task,那我们可以自己定义我们需要的Task,让不同的Task去做我们想要做的事不就解决问题了吗。

以下以一个demo举例打包时传入参数动态生成apk安装包(MAC环境)

也不难,传参,需要什么就传入什么,这样就解决了动态指定的问题了。

步骤

1.使用android studio构建一个工程,双击进入Gradle Scripts 中的build.gradle

3d705cfd4f99

代码片段

2.加入常量 def API_SCM_NAME ="debug"  这里可以附一个默认值

3d705cfd4f99

代码片段-加入常量

3.配置defaultConfig 这里说明一下

project.hasProperty("key")方法用来接收传入参数,这里用了一个三目运算,如果传入参数VERSION_NAME有参数则使用传入参数,如果没有传入参数则使用默认值“debug”

buildConfigField(类型,键,值)方法用来给BuildConfig这个类中加入常量API_HOST,以供代码中调用,注意:这里的字符串需要在里面加入引号,用转义符转义,因为Groovy会直接把最外层引号内的值赋值给生成的自定义变量,如果不加,赋值后的String字符串就会没有引号,导致编译出错。

3d705cfd4f99

代码片段

4.在代码中引用调用API_HOST常量;声明一个LOGIN_URL来存放BuildConfig.API_HOST

3d705cfd4f99

代码片段

5.配置签名

3d705cfd4f99

代码片段

6.动态生成APK包名

3d705cfd4f99

代码片段

7.打包命令:

gradle clean assemblerelease -PVERSION_NAME=www.baidu.com

在命令行里面执行这个命令就可以打出所有的Beta包了(前提是已经安装好Gradle,并配置好Gradle的环境变量,或者使用IDE里面的terminal,在项项目目录下使用gradlew命令),其中assembleBeta 可以根据自己需求替换成其他的task名字。

传参就是在后面加上 -P参数,-P后面再加上要传入的键值对,中间用=号连接,需要什么参数就传什么参数,如果有其他需要也可以自定义加入。

完结~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值