前言

在测试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. C# DataContractJsonSerializer

    DataContractJsonSerializer dataSerializer = new DataContractJsonSerializer(request.getBizContentClas ...

  2. (一)shiro简介和用户登录demo及角色管理

    一.shiro简介 Apache Shiro是Java的一个安全框架.Shiro可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境,也可以用在JavaEE环境.Shiro可以帮助我们完成 ...

  3. springboot启动流程(五)创建ApplicationContext

    所有文章 https://www.cnblogs.com/lay2017/p/11478237.html 正文 springboot在启动过程中将会根据当前应用的类型创建对应的ApplicationC ...

  4. springboot启动流程(九)ioc依赖注入

    所有文章 https://www.cnblogs.com/lay2017/p/11478237.html 正文 在前面的几篇文章中,我们多次提到这么一个转化过程: Bean配置 --> Bean ...

  5. C++ unordered_map桶增长规律

    无序容器unordered_map存储为一组桶,各元素通过hash函数映射到各个桶中.心血来潮,来看一下桶的增长规律. #include <iostream> #include <s ...

  6. 使用apache的HttpClient进行http通讯,隐藏的HTTP请求头部字段是如何自动被添加的

    我们用apache的HttpClient这个库消费云端的Restful API时,一般都需要两次HTTP调用,第一次获得某种token,比如获取防止跨域请求伪造攻击Cross-site request ...

  7. 装机篇:将ubuntu 14.04安装在移动硬盘中

    这样做有诸多好处,最大的好处莫过于获得新鲜感. 需要注意的只有一点,要把bootloader装在整个硬盘的MBR而不是单独某个分区的DBR里. 另,我所成功的版本为14.04.1,之前使用14.04. ...

  8. 作为一个java高级工程师的进阶之路

    本文可能可能更偏向于是内心的独白篇和面试技巧总结 一.独白 之前也面试别人,现在轮到自己找工作,怎么说呢,每个面试官的看法不一样,面试的方式就不一样,比如我面试别人我喜欢问项目中他用到了那些,然后针对 ...

  9. springboot系列(二) 创建springboot工程

    本文转载自:https://www.cnblogs.com/magicalSam/p/7171716.html 简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新 ...

  10. inux中查看各文件夹大小命令:du -h --max-depth=1

    du [-abcDhHklmsSx] [-L <符号连接>][-X <文件>][--block-size][--exclude=<目录或文件>] [--max-de ...