前言

在测试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

返回文档

构建时选择分支

Android Jenkins 自动化打包构建的更多相关文章

  1. iOS Jenkins 自动化打包构建

    前言 在测试app项目过程中,通常都是需要开发打测试包给到测试,但是无论是iOS还是Android的打包过程都是相当漫长的,频繁的回归测试需要频繁的打包,对于开发同学影响还是蛮大的.因此在这种情况下, ...

  2. gitlab+jenkins自动化打包APK

    前置条件: 环境搭建,jenkins需要的插件看这里: gitlab+jenkins自动化打包IOS 配置思路: step1: 搭建sdk,gradle运行环境,参照: CentOS7下安装安装and ...

  3. Android Jenkins自动打包纪录

    关于Jenkins自动打包Android的apk包,网上官方的太多,这里简单纪录一下博主的经历和打包的参数纪录 (本篇文章需要对Jenkins有最基本的基础了解) 博主所在公司曾负责app测试过程中发 ...

  4. gitlab+jenkins自动化打包IOS-jenkins配置

    实现的效果如图:  构建界面: 完成效果: 功能说明: 根据选择的代码分支,执行构建打包 构建成功后根据ipa/apk生成二维码,并可在历史构建列表中展示各个版本的二维码,通过手机扫描二维码可直接安装 ...

  5. 搭建Jenkins自动化持续构建和部署系统

    什么是Jenkins? Jenkins是一个持续集成和持续交付的java应用程序,可以处理任何类型的构建或持续集成.集成Jenkins可以用于一些测试和部署技术.简单得说就是一款自动化构建测试和部署的 ...

  6. iOS自动化探索(九)使用Jenkins自动化打包并发布iOS App

    继前一篇: Mac环境下安装Jenkins Jenkins安装好后, 我们试着创建一个iOS自动打包并发布的任务 iOS App构建必须在MAC上面使用xcode进行,所以我们要安装下xcode集成插 ...

  7. jenkins自动化打包报错:gradle: 未找到命令

    shell脚本如下: cd /home/wangju/gitProject/Automation echo "************************开始清理环境********** ...

  8. Jenkins自动化打包配置

    具体流程不细讲,教程很多 * 环境配置: * xmapp安装 * Jenkins.war丢到Tomcat目录中,配置Jenkins * 宿主机安装jdk,gradle,配置环境变量(在Jenkins的 ...

  9. jenkins自动化打包部署

    请参考: http://m.blog.csdn.net/article/details?id=50518959 1.启动 jenkins.war ,打开首页  192.168.158.129:8080 ...

随机推荐

  1. 搭建SSM环境(淘淘商城)

    本文用到的资料: 链接:https://pan.baidu.com/s/1Pk_aI_PRbqRFP9i3o9Xodg 提取码:o4o4 1.1. 数据库 1.1.1. 使用navicat创建数据库连 ...

  2. C# Combox控件绑定自定义数据

    DataTable dt = new DataTable();            dt.Columns.Add("name");            dt.Columns.A ...

  3. VisualSVN 关于权限(第2篇)

    最终的答案: 仓库本身不能给他增加访问权限,必须增加否则连不上,不增加的时候 他默认就是No Access: 仓库本身可以理解为:祖宗,他是访问权限的根基.子目录会继承他的权限. 那么既然必须给他增加 ...

  4. nginx 反向代理的配置

    nginx中的每个server就是一个反向代理配置,可以有多个server(nginx只能处理静态资源) nginx中 server的配置 server { listen 80; server_nam ...

  5. Ubuntu 文件和目录常用命令

    目标 查看目录内容 ls 切换目录 cd 创建和删除操作 touch rm mkdir 拷贝和移动文件 cp mv 查看文件内容 cat more grep 其他 echo 重定向 > 和 &g ...

  6. 初级文件IO——IO过程、open、close、write、read、lseek、dup、dup2、errno、perror

    先要回答的问题 文件IO指的是什么? 本文主要讲述如何调用Linux OS所提供的相关的OS API,实现文件的读写. 如何理解文件IO? IO就是input output的意思,文件io就是文件输入 ...

  7. Oracle 11g Dataguard 配置,维护与详解 (ADG)

    一.前言: 本手册主要记录如何配置,还介绍了配置原因,以及注意要点,已经主备切换,以及故障转移等重要操作步骤,我希望这个文章可以作为进行dataguard配置的一个参考手册. 二.前提 1.主库是归档 ...

  8. 用js刷剑指offer(二进制中一的个数)

    题目描述 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 牛客网链接 思路 如果一个整数不为0,那么这个整数至少有一位是1.如果我们把这个整数减1,那么原来处在整数最右边的1就会变为 ...

  9. Ubuntu系统---配置OpenCV

    Ubuntu系统---配置OpenCV 目录 一.Ubuntu下配OpenCV 二.Ubuntu下配python-opencv   说明 上述一.二两种方式,配置OpenCV还是有区别的.按个人已有知 ...

  10. 接口自动化平台搭建(四),自动化项目Jenkins持续集成

    一.Jenkins的优点 1.传统网站部署流程   一般网站部署的流程 这边是完整流程而不是简化的流程 需求分析—原型设计—开发代码—内网部署-提交测试—确认上线—备份数据—外网更新-最终测试 ,如果 ...