Android使用Jenkins自动化构建测试打包apk

Jenkins这东西搭建起来真是一点也不省心啊,看着别人的教程摸着石头过河,配置的东西有点多啊,稍有不慎,就构建不成功啦!即使步骤跟别人一样也会报各种乱七八糟的错误啊哈哈~~这东西只能佛系搭建~~在经历几十次的随缘构建之后,终于构建成功啦~~好感人!眼泪掉下来。。。。。。在此做下记录,造福广大群众!阿弥陀佛~~废话少说,且看如下操作:

下载Jenkins并安装

官网下载地址:https://jenkins.io/download

我们下载如图所示Window版本,下载下来是个.zip的压缩包,我们解压一下得到如下图所示文件:

双击即可开始安装,一直Next,即可安装完成。

环境变量配置

Java环境配置  

Android SDK环境配置

右键此电脑-属性-高级系统设置-环境变量

在系统变量中添加 :

变量名 JAVA_HOME 

变量值 E:\Java\jdk8 (路径根据自己实际的java安装目录选择) 

变量名 ANDROID_HOME

变量值 E:\Android\SDK (路径根据自己实际的java安装目录选择)

然后在系统的Path变量中添加 :%Java_Home%\bin  

以上是Java环境的基本配置,作为一名Android开发攻城狮应该都知道基本操作。接下来就是重头戏啦!!!

Jenkins配置

安装完jenkins一般会自动在浏览器中打开,没有的话在浏览器输入 localhost:8080 或者 127.0.0.1:8080页面出来后会提示选择安装插件,第一个是默认推荐的插件,第二个是自己选择要安装的插件

我们直接选默认的就好,点击第一个坐等jenkins自动安装插件

插件安装后需要创建你的账号

创建完就可以登录Jenkins控制台啦!

点击左侧系统管理-系统设置 

来到如下设置页面:

点开主目录右边的高级设置,修改一下工作空间根目录(路径任意,自己知道就行),若不改,aapt编译时会报错,因为windows版本默认的根目录在C盘底下路径过长

往下拉配置全局属性,勾选环境变量,添加如下键值对

为什么说GRADLE_USER_HOME字段要固定写呢,因为要和Gradle的配置字段一致,否则编译会报错,如果这里不进行配置Gradle会使用默认的目录,会因为默认目录路径太长导致编译报错,是不是很坑!!!

配置完点击左下角保存按钮保存配置。

回到主页面点击左侧 新建任务

输入一个任务名称,选择构建一个自由风格的软件项目,点击确定

这样在 我的视图 里就能看到创建的任务啦,点击任务,进入任务详细页面

点击配置,进行构建前的详细配置,先配置普通项General,勾选Github prooject,设置远程仓库地址,以Github为例:

然后设置 源码管理 勾选Git,添加Github项目地址,你的Github账号密码

然后设置 构建触发器(非必需设置)设置了只是多了一种构建方式,可以勾选 触发远程构建 ,然后设置一个身份验证令牌,即可通过浏览器访问链接触发构建

如红色方框所示,有两种拼接链接的方式触发构建,你可以在浏览器中输入localhost:8080/me/my-views/view/all/job/Test/build?token=123456 或者/buildWithParameters?token=123456 来触发构建。

也可以勾选Poll SCM,设置每隔一段时间自动构建,我设置了每小时构建一次,如下图所示

语法参考如下:

接下来设置 构建 点击增加构建步骤,选择Invoke Gradle script

勾选Invoke Gradle,选择gradle

Tasks 填写 clean build 命令

最后设置 构建后操作 点击增加构建后操作步骤,选择Archive the artifacts

填入正则表达式路径,匹配用于存档的apk

app/build/outputs/release/*.apk的意思是匹配app/build/outputs/release路径下所有拓展名为.apk的安装包,看这路径是不是很熟悉,其实就是项目路径下apk的输出路径

存档后Jenkins-release-v1.0.0.apk就会显示在Jenkins项目最后一次成功的构建结果

到此配置基本完成,是时候构建一波了,回到任务主页,点击立即构建

左下角会出现构建进度,蓝色圆点表示成功,红色圆点表示失败,点击构建序号,下拉选择控制台输出可以查看构建日志

至此,构建就大功告成啦!

在本地的JenkinsWork工作空间目录下可以看到从Github上拉取的项目源码

构建成功打包的apk在此目录下

接下来我们可以设置让构建打包好的apk自动发布到fir,详细教程请移步至http://blog.fir.im/jenkins文章写得很详细,我就不多说了。发布到fir后,平常测试人员找你要测试包,你可以对他说:“自己去fir下载。”一脸帅气.jpg

好了,今天就分享到这,祝大家Jenkins构建之路愉快!有什么问题可以联系我 QQ:337047207

可通过以下途径关注本人

个人网站 https://zachary46.xyz

Github https://github.com/Zachary46

CSDN博客 https://blog.csdn.net/Zachary_46

博客园 https://www.cnblogs.com/Zachary46

掘金 https://juejin.im/user/5b57e9a16fb9a04f8e1432ef

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏木头编程 - moTzxx

CentOS下如何更改默认的启动方式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

12320
来自专栏逸鹏说道

Ubuntu离线安装Sogou拼音(附老版本安装&输入法自启动)

跨平台系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#linux 离线安装的基础可以看看这篇文章的 前期...

36860
来自专栏Spark学习技巧

大数据基础系列之kafkaConsumer010+的多样demo及注意事项

一,KafkaConsumer使用要点解释 1,基本介绍 该客户端用户透明的处理kafka Broker的失败,透明的适应topic在集群中的迁移。这种客户端也...

35980
来自专栏SpringBoot 核心技术

第一章:Maven环境下如何配置QueryDSL环境

24930
来自专栏葡萄城控件技术团队

你不得不知道的Visual Studio 2012(2)- 全新调试功能

Windows 8 带来了一种新的应用程序生命周期模型,其中 Windows 商店应用程序会为用户自动管理。即使它们从未运行过,也没有显示在屏幕上,这些应用程序...

19170
来自专栏Flutter入门到实战

Flutter从配置安装到填坑指南详解

在 Google I/O ’17 上,Google 向我们介绍了 Flutter —— 一款新的用于创建移动应用的开源库。

3.2K50
来自专栏Android干货

Android项目实战(二十四):项目包成jar文件,并且将工程中引用的jar一起打入新的jar文件中

9440
来自专栏云计算教程系列

如何使用Prometheus监控CentOS 7服务器

Prometheus是由SoundCloud开发的开源监控系统。与其他监控系统(如InfluxDB和Graphite)一样,Prometheus将其所有数据存储...

1.3K00
来自专栏Android干货

Android项目实战(二十四):项目包成jar文件,并且将工程中引用的jar一起打入新的jar文件中

293100
来自专栏云计算教程系列

如何使用Prometheus监视您的Ubuntu 14.04服务器

Prometheus是由SoundCloud开发的开源监控系统。与其他监控系统(如InfluxDB和Graphite)一样,Prometheus将其所有数据存储...

25000

扫码关注云+社区

领取腾讯云代金券