android 打包工具 windows,jenkins Android windows 打包部署

项目示例

在Jenkins首页,点击“新建Item”

7803c61f2a75

avatar

进入到创建页面

7803c61f2a75

avatar

点击“确定”后进入到基本模板配置页面。

7803c61f2a75

avatar

General

General 选项卡可以配置项目描述,以及基本的配置。这里需要着重注意的checkbox项是"This project is parameterzed"。

选中后可以定义变量,这些变量在编译过程中,jenkins会将这些变量值侵入到项目的gradle中,作为项目的全局属性被访问——需要注意的是要在项目的gradle.properties中定义对应的变量——将变量的值替换gradle.properties中相应变量的默认值。

7803c61f2a75

avatar

7803c61f2a75

avatar

在参数配置中定义了BUILD_TYPE,APK_NAME,VERSION_NAME,BUILD_TIME,IS_JENKINS。

在项目发起编译时,可以看到这些定义的变量及其描述。

7803c61f2a75

avatar

发起编译前,还需要确保在项目的gradle.properties中同样定义了对应需要使用的变量,这样在jenkins进行编译时,这些定义的变量值才能起作用。

IS_JENKINS = false

BUILD_TIME = ''

APK_NAME = ''

VERSION_NAME = 1.0.0

这里定义了项目中需要使用的变量,在jenkins编译时,这些变量值会被jenkins中定义的同名变量值替换。gradle.properties中定 义的变量也会在项目的gradle文件中被引用。

// 定义的versionName

versionName VERSION_NAME

// 定义编译生成的apk名格式

applicationVariants.all { variant ->

variant.outputs.each { output ->

def newName

if ('true' == IS_JENKINS) {

println("jenkins build ==> $BUILD_TIME")

newName = "$APK_NAME-v$VERSION_NAME-$BUILD_TIME-${variant.buildType.name}-unsigned.apk"

} else {

if ('debug' == variant.buildType.name) {

newName = "$APK_NAME-v${rootProject.android.versionName}-${rootProject.android.versionCode}-debug.apk"

} else {

newName = "$APK_NAME-v${rootProject.android.versionName}-${rootProject.android.versionCode}-${variant.buildType.name}.apk"

}

}

output.outputFileName newName

}

}

这样在发起编译后,最终jenkins编译生成的apk文件名即是IS_JENKINS分支的输出名。

源码管理

源码管理 项选择源码配置工具。

因为我们的源码管理工具是git,因此选择git,并且在对应的配置填写源码url等信息。

7803c61f2a75

avatar

选择Git方式后,填写“Repository URL”gitlab上project的http地址,“Credentials”初始需要点击有责“添加”增加凭据。在“Branch to build”中填写需要编译的分支。

构建触发器

构建触发器 中可以设置触发编译的条件。

7803c61f2a75

avatar

这里设置了每隔30分钟拉取一次代码并且编译。也可以根据需要,根据对应的格式填写需要触发的条件。

构建

构建 配置需要执行的操作等。在构建配置中,主要选择编译使用的gradle版本及执行的任务命令,选择签名,已经可能需要签名后执行的命令(配置块的顺序不可更改,一定是gradle编译,后签名,再针对签名后的文件进行操作,否则会造成奇怪的问题。)

Invoke Gradle script 块中选择编译的Gradle版本,以及在tasks填写执行的任务。

7803c61f2a75

avatar

在选择编译gradle版本中,有一点特别需要注意,点击“高级”,在展开的配置项中,勾选 ”

Pass all job parameters as Project properties”项,让在 “General”项中配置的参数可以在编译时准确将值替换到项目gradle.properties文件中的对应变量的值。否则在编译时你会发现,即使编译成功了,但是产生的APK文件名不是想要的输出。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值