Android Jenkins 自动化打包构建

 

前言

在测试app项目过程中,通常都是需要开发打测试包给到测试,但是无论是iOS还是Android的打包过程都是相当漫长的,频繁的回归测试需要频繁的打包,对于开发同学影响还是蛮大的。因此在这种情况下,开发通常都会搭建一个简单的自动化打包平台(Jenkins),自动化构建打包或者上传到蒲公英,firm等分发平台。作为测试也需要了解相关的知识,用以优化提高开发测试效率。

 

涉及技术点:

  1. Jenkins的搭建配置,任务构建
  2. Android开发环境配置
  3. Android gradle的配置使用

内容包含:

  • Java环境配置
  • Android环境配置
  • gradle配置

    • 下载gradle
    • 配置环境变量
  • Jenkins配置

    •  插件管理
    • 系统设置
    •  全局工具配置
    • 构建任务配置
    • 多渠道打包,360加固(废弃,直接开发设置gradle脚本)

      • 360加固,多渠道打包介绍
      • 360打包加固脚本(待优化)
    • 上传蒲公英,显示下载二维码

      • 添加插件upload to pyger
      • 添加插件description setter plugin
      • 配置上传蒲公英参数和显示二维码
    • 参数化构建之选择分支构建

      • 添加插件Git Parameter
      • 配置参数化构建,选择Git Parameter
      • 构建时选择分支

 

Java环境配置

 

下载jdk,安装即可

Android环境配置

下载安装配置Android SDK

gradle配置

下载gradle

下载地址:http://services.gradle.org/distributions/

选择与项目相对应的gradle版本

也可以直接使用brew安装

配置环境变量

打开终端:

  1. open -e ~/.bash_profile,使用文本编辑打开它

          #gradle的目录地址

          GRADLE_HOME=/Users/louchengwang/Library/gradle-4.10.1

          export GRADLE_HOME           export PATH=$PATH:$GRADLE_HOME/bin

     2. source ~/.bash_profile 更新文件

     3. gradle -version 查看gradle 版本

 

Jenkins配置

 

Jenkins的安装部署就不说了,一路next就好

 

 插件管理

插件搜索

gradle

gitlab plugin

系统设置

设置全局属性,配置android home


 

 全局工具配置

配置gradle


 也可以使用自动安装,但是容易超时,所以还是自己下载安装好了直接使用

 

构建任务配置

  1. 源码管理选择 git,输入git账号密码,选择分支
  2. 触发构建器自行选择
  3. 构建选择Invoke Gradle script  clean: 清理项目 assembleRelease:  打包项目,生成的apk包路径在  /Android项目/app/build/outputs/apk
  4. 高级-设置Root Build script和Build file

    这里也可以不设置,如果不设置的话,默认项目目录是在 /Users/louchengwang/.jenkins/workspace

          还需要注意的点,Jenkins提供了一些可用的公共变量,例如${WORKSPACE},就是当前项目的目录地址

 

多渠道打包,360加固(废弃,直接开发设置gradle脚本)

使用360加固宝对安装包进行加固,并且进行多渠道打包。

360加固,多渠道打包介绍

在GitHub中已经将360加固宝文件上传上去,就在Android项目的根目录中,我们使用命令行的方式进行打包加固

 

360命令行加固打包介绍:

  1. 使用帮助    java -jar jiagu.jar -help
  2. 登录     java -jar jiagu.jar -login <username> <password>
  3. 签名配置,导入签名keystore信息      java -jar jiagu.jar -importsign <keystore_path> <keystore_password> <alias> <alias_password>
  4. 渠道配置,导入渠道信息    java -jar jiagu.jar -importmulpkg <mulpkg_path>  这个需要看下项目是使用什么样的方式进行渠道划分
  5. 配置加固服务 查看当前加固服务配置    java -jar jiagu.jar -showconfig
  6. 应用加固,如果不是高级用户服务,普通的加固服务配置就可以 java -jar jiagu.jar -jiagu <inputAPKpath> <outputpath> -autosign -automulpkg

360打包加固脚本(待优化)

apks=${WORKSPACE}/app/build/outputs/apk channel=("official" "tencent") DEST=${WORKSPACE}/reinforce/ for chan in ${channel[@]} do file=$apks"/"$chan/release/sjk_v1.2.0_$chan.apk file=${WORKSPACE}/app/build/outputs/apk"/"$chan/release/sjk_v1.2.0_$chan.apk java -jar ${WORKSPACE}/jiagu/jiagu.jar -login 15154111005 lou4871768 java -jar ${WORKSPACE}/jiagu/jiagu.jar -importsign ${WORKSPACE}/sjk.jks sanjieke.comsjk sanjieke.com java -jar ${WORKSPACE}/jiagu/jiagu.jar -showsign echo $file java -jar ${WORKSPACE}/jiagu/jiagu.jar -jiagu ${file} ${DEST} -autosign done

 

待优化的点

  1. 现在打包渠道是固定死的,应该自动识别apk目录下的包并进行打包加固
  2. 打包完成后,可以增加压缩打包并邮件发出等服务

 

保存,点击构建,如果构建失败查看log,看是哪里的问题。

上传蒲公英,显示下载二维码

添加插件upload to pyger

添加插件description setter plugin

配置上传蒲公英参数和显示二维码


 

 

配置完成效果

 

参数化构建之选择分支构建

添加插件Git Parameter

配置参数化构建,选择Git Parameter

返回文档

构建时选择分支

 

posted @ 2019-10-21 23:06  不当咸鱼  阅读(4062)  评论(0编辑  收藏  举报