美文网首页Android代码封装
Jenkins搭建Android自动构建

Jenkins搭建Android自动构建

作者: 龙马君 | 来源:发表于2018-03-30 18:21 被阅读131次

    简介

    本文主要介绍如何通过Jenkins+SVN+Gradle搭建Android自动打包过程。

    原先提交测试流程是:开发打Apk包,然后再发送给测试人员测试,在快速迭代的过程中,开发修改完bug后,又要重复打包给测试,非常繁琐。所以搭建自动构建势在必行,需要把开发从这个流程中抽离出来,让测试自己去打包测试了,只要一个按钮即可自动构建。

    Jenkins 是一款流行的开源持续集成(Continuous Integration)工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。

    image.png

    安装Jenkins

    1. 官网下载:https://jenkins.io/
      直接下载安装包进行安装部署

      image.png
    2. 安装JDK
      Jenkins 自身采用 Java 开发,所以要必须安装 JDK(Java 8);

    3. 安装AndroidSDK
      官网(可翻墙选择):http://developer.android.com/sdk/index.html
      不可翻墙选择:http://www.androiddevtools.cn/
      不可翻墙选择:http://tools.android-studio.org/
      SDK Manager 下载各个版本的SDK

    配置说明

    登录

    http://localhost:8080/
    首次进入需要输入初始密码来解锁。
    密码在安装目录下的:Jenkins\secrets\initialAdminPassword

    image.png

    进入 Jenkins 定制界面,让选择 Install suggested plugins,安装推荐插件即可,后面有需要可以再安装其他插件。

    image.png

    插件安装完后,设置第一个管理员账号,进入主界面


    image.png

    基础配置

    1.Global Tool Configuration(全局工具配置)


    image.png

    JDK:别名=任意,JAVA_HOME=JDK目录
    Gradle:别名=任意,GRADLE_HOME=Gradle下载目录\Gradle\gradle-2.xx
    Gradle尽量配置多个,因为项目的gradle版本可能不一样,所以需要选择不同的Gradle版本进行编译

    1. 全局管理-系统配置
      全局属性 - 环境变量- 添加Android SDK路径


      image.png

    创建项目

    [新建任务]


    image.png

    General

    源码管理

    设置svn地址
    点击Add,添加账号和密码


    image.png

    Local module directory(.)表示代码会CheckOut到Jenkins\workspace\NewTask目录下。

    点击保存,回到项目界面,然后点击【立即构建】


    image.png

    Jenkins就会发起一个构建任务,这时候我们可以到Jenkins\workspace\NewTask目录下,看到代码checkout出来了。后面会进入构建打包配置。

    构建触发器

    进行自动构建触发,可以配置什么时候构建,目前先不配置。

    构建环境

    暂不配置。

    构建

    image.png

    配置Gradle版本和任务(clean assembleRelease --stacktrace --debug)


    image.png

    点击保存,回到项目界面,然后点击【立即构建】,可以看到在app下有apk生成了。

    构建后操作

    1. 配置Archive the artifacts

    把构建包进行存档,会显示在每次构建上面。
    /build/outputs/apk/release.apk

    image.png image.png

    点击保存,回到项目界面,然后点击【立即构建】,点击刚才的构建任务,可以在界面看到构建出来的apk.


    image.png

    Jenkins会保存每次构建任务,保存在jobs/xxx/builds下面


    image.png

    配置了【Archive the artifacts】,就会把相应的文件保存到archive目录里面。

    2. 配置自动上传到fir.im(应用管理平台)

    1. 要先安装插件:http://blog.fir.im/jenkins/
    2. 获取fir.im Token

    [未完待续]

    参考

    使用Jenkins进行持续集成
    https://www.liaoxuefeng.com/article/001463233913442cdb2d1bd1b1b42e3b0b29eb1ba736c5e000

    碰到问题

    1. 提示“Adding IP addresses for network interface WAN Miniport”
      手动到项目下,执行命令:clean assembleRelease --stacktrace --debug
      此时,会有一个java访问防火墙的弹窗,点击允许。

    2.You have not accepted the license agreements of the following SDK components:[Android SDK Build-Tools 26].

    image.png

    下载SDK Build-Tools 26


    image.png

    在android-sdk\tools\bin目录下
    执行命令:

    sdkmanager --update
    
      • What went wrong:
        Failed to load native library 'native-platform.dll' for Windows 7 amd64.

    全局搜索native-platform.dll,把单个native-platform.dll.lock的,重命名成native-platform.dll。


    image.png
    1. Error: Some file crunching failed, see logs for details
      直接用命令:gradlew命令构建是可以成功的,但是用Jenkins就是不行。
      后来又看到说是build-cache路径过长的问题,查看下构建日志,发现cmd->gradlew命令构建build-cache为
      C:\Users\Administrator.android
      Jenkins下的build-cache路径是
      C:\Windows\System32\config\systemprofile.android
      通过Jenkins的配置来控制
      image.png
      参考:
      https://blog.csdn.net/msl0903/article/details/71077898

    相关文章

      网友评论

        本文标题:Jenkins搭建Android自动构建

        本文链接:https://www.haomeiwen.com/subject/wtmbcftx.html