jenkins自动化打包android,Android使用Jenkins实现自动化打包

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

Android项目开发过程中,每次测试打包都会浪费较长的时间,为了能节省时间、将精力更多的放在代码编写上,

可利用Jenkins工具进行自动化构建打包,当仓库中的代码有变化时,自动构建打包,节省时间也是迈出开发自动化的第一步。

开发环境

Mac OS:10.11.6

Android Studio:2.3.3

adb:1.0.36

gradle:3.5

jenkins:2.70

运行Jenkins

Jenkins安装完成之后,直接命令行中运行jenkins命令即可,运行成功之后在浏览器中输入

http://localhost:8080/。

配置Jenkins插件

第一次运行会提示安装插件,选择推荐安装即可。

ea06b4a5b9d6435df76d93deea891d84.png

安装完成之后,提示设置用户名、密码等信息。

c002e77941546ac9d045880ddd6e761f.png

除了推荐安装的插件之外,Android实现自动构建还需要另外一个插件Android Lint,需要手动安装。系统设置—插件管理,搜索安装即可。

062119af44874ea6df50cd46c9cb84e8.png

设置sdk路径

系统管理—系统设置—全局属性,新建属性,输入key值和value值,其中key值必须为ANDROID_HOME。

a13bdde6d6385e1eec1c857f98a73f06.png

新建项目

在此之前,需要在github上或者内网git仓库新建项目,此例中使用github。地址:https://github.com/loaLakers/HelloWorld.git。

428e59082fa99844143b2d72d52c6ddc.png

在源码管理中配置git仓库地址及密码等验证信息。

b25babd9b0bdae82817c29272ed31b73.png

立即构建

点击立即构建,会在本地生成构建成功的项目文件。

e6585973df97f7c53f0d6f02d092bdb7.png

文件目录地址可在系统配置-主目录中查看

f1349224788e43be55d90bd0bb388695.png

gradle编译配置

Android项目需要打包还需要配置gradle,点击MyView-helloworld进入项目详情,点击配置,在构建模块设置。

3e73ba1ed2c8c4f8acf717fd2451d0d3.png

打包

再次点击立即构建,会在本地的目录下生成APK文件。

3f7a8e9faf41da8befe3643706ce7644.png

签名打包

之前的打包是没有签名的,需要在工程的build.gradle中设置签名来自动签名打包。

741e60235f2d7071d8c892c55bd9603f.png

41b3f9b8163555a96018c5bbcc70cb08.png

将代码提交到github后,再次点击立即构建,可在相同的目录下生成已经签名的APK文件,并且名称按照设置规定的形式。

dfb0338c2b1fd7a43d5e7200c3f1de44.png

自动定时检测打包

Jenkins可以设置定时检查git仓库是否有更新,如有更新自动构建打包,实现自动化。点击MyView,点击helloworld项目,点击配置,在构建触发器模块设置。

764ce26fe86b2a4b0d289103cd1070ae.png

gradle.build配置代码1signingConfigs {//签名的配置

release {

storeFile file("test.jks")

storePassword '123456'

keyAlias 'test'

keyPassword '123456'

}

}

applicationVariants.all { variant ->

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

variant.outputs.each { output ->

def outputFile = output.outputFile

if (outputFile != null && outputFile.name.endsWith('.apk')) {

def fileName = "${releaseTime()}_com.wzh_helloworld_${defaultConfig.versionName}.apk"

output.outputFile = new File(outputFile.parent, fileName)

}

}

}

}

signingConfig signingConfigs.release

applicationVariants.all { variant ->

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

variant.outputs.each { output ->

def outputFile = output.outputFile

if (outputFile != null && outputFile.name.endsWith('.apk')) {

def fileName = "${releaseTime()}_com.wzh_helloworld_${defaultConfig.versionName}.apk"

output.outputFile = new File(outputFile.parent, fileName)

}

}

}

}

lintOptions {

abortOnError false

}

def releaseTime() {

return new Date().format("yyyy-MM-dd-HH:mm:ss", TimeZone.getTimeZone("Asia/Chongqing"))

}

—— END. loaLakers on 07.22

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值