Android Jenkins 自动化打包构建
前言
在测试app项目过程中,通常都是需要开发打测试包给到测试,但是无论是iOS还是Android的打包过程都是相当漫长的,频繁的回归测试需要频繁的打包,对于开发同学影响还是蛮大的。因此在这种情况下,开发通常都会搭建一个简单的自动化打包平台(Jenkins),自动化构建打包或者上传到蒲公英,firm等分发平台。作为测试也需要了解相关的知识,用以优化提高开发测试效率。
涉及技术点:
- Jenkins的搭建配置,任务构建
- Android开发环境配置
- 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安装
配置环境变量
打开终端:
- 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

也可以使用自动安装,但是容易超时,所以还是自己下载安装好了直接使用
构建任务配置
- 源码管理选择 git,输入git账号密码,选择分支

- 触发构建器自行选择
- 构建选择Invoke Gradle script
clean: 清理项目 assembleRelease: 打包项目,生成的apk包路径在 /Android项目/app/build/outputs/apk 高级-设置Root Build script和Build file
这里也可以不设置,如果不设置的话,默认项目目录是在 /Users/louchengwang/.jenkins/workspace
还需要注意的点,Jenkins提供了一些可用的公共变量,例如${WORKSPACE},就是当前项目的目录地址
多渠道打包,360加固(废弃,直接开发设置gradle脚本)
使用360加固宝对安装包进行加固,并且进行多渠道打包。
360加固,多渠道打包介绍
在GitHub中已经将360加固宝文件上传上去,就在Android项目的根目录中,我们使用命令行的方式进行打包加固
360命令行加固打包介绍:
- 使用帮助 java -jar jiagu.jar -help

- 登录 java -jar jiagu.jar -login <username> <password>
- 签名配置,导入签名keystore信息 java -jar jiagu.jar -importsign <keystore_path> <keystore_password> <alias> <alias_password>
- 渠道配置,导入渠道信息 java -jar jiagu.jar -importmulpkg <mulpkg_path> 这个需要看下项目是使用什么样的方式进行渠道划分
- 配置加固服务 查看当前加固服务配置 java -jar jiagu.jar -showconfig
- 应用加固,如果不是高级用户服务,普通的加固服务配置就可以 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
待优化的点
- 现在打包渠道是固定死的,应该自动识别apk目录下的包并进行打包加固
- 打包完成后,可以增加压缩打包并邮件发出等服务
保存,点击构建,如果构建失败查看log,看是哪里的问题。
上传蒲公英,显示下载二维码
添加插件upload to pyger
添加插件description setter plugin
配置上传蒲公英参数和显示二维码

配置完成效果

参数化构建之选择分支构建
添加插件Git Parameter
配置参数化构建,选择Git Parameter
返回文档
构建时选择分支
Android Jenkins 自动化打包构建的更多相关文章
- iOS Jenkins 自动化打包构建
前言 在测试app项目过程中,通常都是需要开发打测试包给到测试,但是无论是iOS还是Android的打包过程都是相当漫长的,频繁的回归测试需要频繁的打包,对于开发同学影响还是蛮大的.因此在这种情况下, ...
- gitlab+jenkins自动化打包APK
前置条件: 环境搭建,jenkins需要的插件看这里: gitlab+jenkins自动化打包IOS 配置思路: step1: 搭建sdk,gradle运行环境,参照: CentOS7下安装安装and ...
- Android Jenkins自动打包纪录
关于Jenkins自动打包Android的apk包,网上官方的太多,这里简单纪录一下博主的经历和打包的参数纪录 (本篇文章需要对Jenkins有最基本的基础了解) 博主所在公司曾负责app测试过程中发 ...
- gitlab+jenkins自动化打包IOS-jenkins配置
实现的效果如图: 构建界面: 完成效果: 功能说明: 根据选择的代码分支,执行构建打包 构建成功后根据ipa/apk生成二维码,并可在历史构建列表中展示各个版本的二维码,通过手机扫描二维码可直接安装 ...
- 搭建Jenkins自动化持续构建和部署系统
什么是Jenkins? Jenkins是一个持续集成和持续交付的java应用程序,可以处理任何类型的构建或持续集成.集成Jenkins可以用于一些测试和部署技术.简单得说就是一款自动化构建测试和部署的 ...
- iOS自动化探索(九)使用Jenkins自动化打包并发布iOS App
继前一篇: Mac环境下安装Jenkins Jenkins安装好后, 我们试着创建一个iOS自动打包并发布的任务 iOS App构建必须在MAC上面使用xcode进行,所以我们要安装下xcode集成插 ...
- jenkins自动化打包报错:gradle: 未找到命令
shell脚本如下: cd /home/wangju/gitProject/Automation echo "************************开始清理环境********** ...
- Jenkins自动化打包配置
具体流程不细讲,教程很多 * 环境配置: * xmapp安装 * Jenkins.war丢到Tomcat目录中,配置Jenkins * 宿主机安装jdk,gradle,配置环境变量(在Jenkins的 ...
- jenkins自动化打包部署
请参考: http://m.blog.csdn.net/article/details?id=50518959 1.启动 jenkins.war ,打开首页 192.168.158.129:8080 ...
随机推荐
- sqlite3 下载和安装步骤
1 下载地址 https://www.sqlite.org/2019/sqlite-tools-win32-x86-3300100.zip 2 添加系统变量 path中添加 sqlite3.exe所 ...
- SpringMVC 出现 406(Not Acceptable)
首先,需要清楚,http state 406代表什么意思: 406是HTTP协议状态码的一种,表示无法使用请求的特性来响应请求的网页.一般指客户端浏览器不接受所请求页面的MIME类型. 出现这样的错误 ...
- Window环境下使用多个Git账号(github,gitee,gitlab,gogs等)
个人电脑之前已经设置好github账号了,公司用的是gitlab私服,一直互不干扰,因为用的是不同的电脑,也就懒得配置git多账户环境.最近看了一下多年空空如也的码云,想着怎么的也会用到gitee来托 ...
- Nopcommerce4.2解析——安装
Nopcommerce是一个DotNet领域异常凶残的一个开源电商系统,最先版本4.2,下面我们会逐步分析他的各个模块,为我们的二次开发做准备,应该会写一个系列. 首次运行nop页面会自动跳转到安装页 ...
- liteide
/liteide$ bin/liteide Cannot mix incompatible Qt library (version 0x40806) with this library (versio ...
- ASP.NET WEB应用程序(.network4.5)MVC Razor视图引擎2
https://www.bbsmax.com/A/gAJG67OXzZ/ 在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor.在这之前,我们一直在使用WebForm时代沿留下来的ASP ...
- 部署在SAP Cloud Platform CloudFoundry环境的应用如何消费SAP Leonardo机器学习API
Jerry的前一篇文章 如何在Web应用里消费SAP Leonardo的机器学习API 里介绍的例子是Neo测试环境的Web应用消费sandbox版本的机器学习API,url如下: https://s ...
- 13.MyBatis注解式开发
mybatis 的注解,主要是用于替换映射文件.而映射文件中无非存放着增.删.改.查 的 SQL 映射标签.所以,mybatis 注解,就是要替换映射文件中的 SQL 标签. mybatis 官方文档 ...
- SQL Server 对接MySQL 数据库
1.在SQL SERVER服务器上安装MYSQL ODBC驱动; 驱动下载地址:http://dev.mysql.com/downloads/connector/odbc/ 2.安装好后,在管理工具- ...
- scrapy爬虫框架配置--settings
我们可以用一个settings.py做个简单的介绍和解析:例: ----> # -*- coding: utf-8 -*- # Scrapy settings for xigua project ...
