Jenkins - 搭建安卓自动化打包测试工具(01)

背景

开发过程中,我们经常遇到需要打包测试的问题,有没有一种简单的任项目自动构建打包的工具呢?有的,今天我在这里就给大家推荐一个工具Jenkins。 Jenkins是一款自动化构建的web应用,使用Tomcat作为服务器运行,因此我们还需要一个Tomcat-Server。下面我们具体来说说如何自动化构建!

安装环境配置

这里我们讲解windows环境下的环境搭建,其他系统下类似。

系统环境:window10

应用包:TomcatServer安装包、Jenkins.war包(下载地址)

  1. 安装TomcatServer

    首先进入Tomcat网站下载二进制安装包,随后进行安装包安装。

  2. Jeninks.war包下载

    进入Jenkins官网,找到页面中的download按钮进入下载页面,如下

    Jenkins - 搭建安卓自动化打包测试工具(01)_第1张图片
    Jenkins.war下载

    ​ 找到选项Generic Java package(.war)进行下载

    1. 待下载完成后需要把jenkins.war拷贝到Tomcat的安装目录中子目录【webapps】下

    2. 启动TomcatServer,打开Jenkins工具网站(默认地址为:http://localhost:8080/jenkins/)

      此时你将看到如下网站应用,当然我这里是已经注册过管理员用户的了:


      Jenkins - 搭建安卓自动化打包测试工具(01)_第2张图片
      登录页面

      *: 相关的过程中,我们需要填写一些密匙等等,按照它提供的步骤来就行了。

    3. 当我们注册好管理员用户后,我们需要对Jenkins工具进项相关配置才能自动化打包。

      我们需要配置的插件:

      Android Lint Plugin,Gradle Plugin,Git Plugin 等等,如果你是使用Subversion的则需要安装Subversion插件。

    Jenkins - 搭建安卓自动化打包测试工具(01)_第3张图片
    选择安装插件
    Jenkins - 搭建安卓自动化打包测试工具(01)_第4张图片
    插件安装地址

    当这些处理好后,我们还需要配置JDK, Gradle等环境值,当然我们还需要在操作系统中配置Android的环境两及Java的环境变量。

    Jenkins - 搭建安卓自动化打包测试工具(01)_第5张图片
    全局工具配置
    1. 创建一个任务(项目)
Jenkins - 搭建安卓自动化打包测试工具(01)_第6张图片
创建一个自由风格的软件项目
Jenkins - 搭建安卓自动化打包测试工具(01)_第7张图片
进行项目配置

项目构建选择Invoke Gradle Script,并输入Gradle执行的编译命令:

         clean
         build assembleRelease --stacktrace
Jenkins - 搭建安卓自动化打包测试工具(01)_第8张图片
配置Gradle参数
Jenkins - 搭建安卓自动化打包测试工具(01)_第9张图片
1530257064721.png

我们还可以选择构建完成后,需要做的事情,比如发邮件通知,直接发布到Git上,等等

Jenkins - 搭建安卓自动化打包测试工具(01)_第10张图片
选择构建后的操作

最后应用保存,恭喜你,你已经成功创建了一个自动化任务!

  1. 这里是我创建的自动化任务,他可能像这样

    Jenkins - 搭建安卓自动化打包测试工具(01)_第11张图片
    任务视图

点击最右边的图标按钮可以开始项目构建,构建过程中我们可以选择项目名称查看构建的内容输出及项目工作空间,当构建完成后,我们就可以打开项目的工作空间下载我们构建成功后的文件。

Jenkins - 搭建安卓自动化打包测试工具(01)_第12张图片
1530257386656.png

至此,一个自动化构建的基本项目算是完成了,当然我们还可以给构建项目传递一些编译参数等等,这里我们先暂时不描述。

结论

自动化项目能帮我们节省不少工作时间,减少我们的工作强度。但是经过我这两天测试一直发现一个问题,Jenkins并不能处理打包过程中的Aapt2报错的问题,网上说项目gradle.properties文件中添加

android.enableAapt2=false

但是,经过多次调整和测试,仍然不能编译。。。
注:这样的问题貌似只存在于windows系统,我是使用deepin-linux编译并不存在该问题。

你可能感兴趣的:(Jenkins - 搭建安卓自动化打包测试工具(01))