本文Android自动化打包采用jenkins+gradle+upload to pyger的方式来实现,job执行完后只需要打开链接扫描二维码即可下载apk。

一、环境准备

1.下载Android SDK(最好下载开发工具Android Studio)

2.安装jenkins

二、配置jenkins变量

配置Android自动打包之前需要下载两个插件,gradle和upload to pyger。

1.安装gradle插件:系统管理->管理插件

2.安装upload_to_pyger插件:系统管理->管理插件

3.配置gradle插件,gradle版本根据需要选择,点自动安装:系统管理->全局工具配置

4.设置环境变量:android-sdk 和 java 的环境变量。(1)键:ANDROID_HOME  值:D:\Program Files (x86)\Android\android-sdk(上文下载的SDK)。(2)键:JAVA_HOME  值:D:\Program Files\Java\jdk1.8.0_181

三、配置jenkins job

1.新建一个job,选择“构建一个自由风格的软件项目”

2.源码管理配置git地址信息。

3.构建选择“invoke Gradle script”

4.选择Gradle所需的版本号

# 清除app目录下.apk文件
app:clean
# 打包Release版本的包
app:assembleRelease

# gradle常用命令
gradle clean # 清除/app目录下的build文件夹
gradle build # 检查依赖并编译打包,Debug和Release都打出来
gradle assembleDebug # 编译并打Debug包
gradle assembleRelease # 编译并打Release的包
gradle installRelease # Release模式打包并安装
gradle uninstallRelease # 卸载Release模式包

5.继续添加构建步骤:

6.Upload to pgyer

这里参考GitHub上的参数定义:

需要填写的字段 字段的解释
pgyer uKey (APIV1必填,APIV2无此参数) 用户Key,用来标识当前用户的身份,
对于同一个蒲公英的注册用户来说,这个值在固定的。
点击获取_ukey
pgyer api_key (必填) API Key,用来识别API调用者的身份,
如不特别说明,每个接口中都需要含有此参数。
对于同一个蒲公英的注册用户来说,这个值在固定的。
点击获取_api_key
scandir (必填) 需要上传的apk/ipa文件所在的文件夹或者父文件夹,
当前默认路径是${WORKSPACE},它代表了当前项目的绝对路径。
这个功能的实现使用了ant框架的DirectoryScanner类,点击查看DirectoryScanner类
这个字段就是DirectoryScanner类中的basedir方法的参数点击查看basedir方法
file wildcard (必填) 需要上传的apk/ipa文件的名字,支持通配符,
就像这样: **/Test?/*.apk,
这个功能的实现使用了ant框架的DirectoryScanner类,点击查看DirectoryScanner类
这个字段就是DirectoryScanner类中的includes方法的参数,点击查看includes方法
installType (选填) 应用安装方式,值为(1,2,3)。
1:公开,2:密码安装,3:邀请安装。
默认为1公开
password (选填) 设置App安装密码,如果不想设置密码,请传空字符串,或不传。
updateDescription (选填) 版本更新描述,请传空字符串,或不传。
qrcodePath (选填) 如果你需要下载蒲公英返回的二维码,那么这里填写二维码的存储路径,
如果你不需要下载,那么你不需要在这里填写任何内容。
envVarsPath (选填) 如果你想存储蒲公英返回的上传信息,那么这里填写保存信息的文件路径,
如果你不需要保存,那么你不需要在这里填写任何内容。

GitHub链接:https://github.com/jenkinsci/upload-pgyer-plugin/blob/master/README_cn.md

最后我的配置如下:

上传完成后在蒲公英平台找到下载链接,以后每次构建后只需要打开链接就能下载apk。

7.构建成功

打开下载链接,可以看到apk在2分钟前上传了,扫描二维码即可下载APP。

四、总结

  在配置Android APP自动化打包时候踩过很多坑,SDK里有些build tool和api没有下全,所以我建议下载AS,遇到问题自我分析和调试。

jenkins+Android+gradle持续集成的更多相关文章

  1. Linux下Jenkins+git+gradle持续集成环境搭建

    Linux下Jenkins+git+gradle持续集成环境搭建 来源:IT165收集  发布日期:2014-08-22 21:45:50 我来说两句(0)收藏本文   一.项目介绍 和 linux ...

  2. Jenkins Android APP 持续集成体系建设二—自动部署、执行测试任务,关联打包任务

    经过上一遍博客我们知道了怎么使用Jenkins自动打包,但打完包之后,我们还需要对新包进行回归测试,确定新包有没有问题,然后才能发布包,那么,话不多说,我们先来新建个自动化回归测试任务 新包自动化回归 ...

  3. Jenkins构建Android项目持续集成之findbugs的使用

    Findbugs简介 关于findbugs的介绍,可以自行百度下,这里贴下百度百科的介绍.findbugs是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题 ...

  4. 基于 Jenkins 快速搭建持续集成环境

      什么是持续集成 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile) 在软件工程领域越来越红火 ...

  5. Xamarin.Android VSTS 持续集成

    这些天做了一个基于 VSTS 的 Xamarin.Android的持续集成,这里分享下 Build Agent 环境需求 DotNetFramework msbuild visualstudio An ...

  6. jenkins + Git 搭建持续集成环境

    持续集成通过自动化构建.自动化测试以及自动化部署加上较高的集成频率保证了开发系统中的问题能迅速被发现和修复,降低了集成失败的风险,使得系统在开发中始终保持在一个稳定健康的集成状态.jenkins是目前 ...

  7. Jenkins+Gitlab搭建持续集成(CI)环境

    利用Jenkins+Gitlab搭建持续集成(CI)环境 Permalink: 2013-09-08 22:04:00 by hyhx2008in intern tags: jenkins gitla ...

  8. 基于 Jenkins 快速搭建持续集成环境--转

    源地址:http://www.ibm.com/developerworks/cn/java/j-lo-jenkins/ 持续集成是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础 ...

  9. Jenkins 快速搭建持续集成环境

    持续集成概述 什么是持续集成 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile) 在软件工程领域 ...

随机推荐

  1. Python(五) 字典

  2. 牛客练习赛31 B 赞迪卡之声妮莎与奥札奇 逻辑,博弈 B

    牛客练习赛31 B 赞迪卡之声妮莎与奥札奇 https://ac.nowcoder.com/acm/contest/218/B 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 2621 ...

  3. visual studio 2013怎样快速查看代码函数关系--代码图

    可以发现没有调试运行代码时是无法查看代码图的,可以在某行加一个断点,如下图,并开始debug调试: 这时,就会在代码调试工具栏看到代码图按钮,点击它: 右边就会出现代码图了: 这下就方便多了. 不仅适 ...

  4. Reading | 《Linux就该这么学》

    目录 一.前言 1.Linux概念 2.RPM(红帽软件包管理器) 3.Yum软件仓库 二.常用Linux命令 1.Shell 2.命令基本格式和man命令 3.常用系统工作命令 echo命令 dat ...

  5. Vuejs(14)——在v-for中,利用index来对第一项添加class

    版权声明:出处http://blog.csdn.net/qq20004604 (1)在v-for中,利用index来对第一项添加class <a class="list-group-i ...

  6. unigui日志

    unigui日志 uniGUI本身提供了日志功能,利用uniServerModule.ServerLogger来控制如何写日志: Enabled:是否写日志 Options:logIndyExcept ...

  7. LINK1104:无法打开文件"\.obj"原因及解决办法

    那是由于具有空文件名的库导致的,只需要检查一下配置信息把出现空文件名的地方进行改正就可以了. 作者:耑新新,发布于  博客园 转载请注明出处,欢迎邮件交流:zhuanxinxin@foxmail.co ...

  8. [UWP]使用Picker构建应用内图片公共裁剪组件

    在上一篇博文<[UWP]如何实现UWP平台最佳图片裁剪控件>中我讲解了编写ImageCropper控件的过程及知识分享.在那篇文章里,我大言不惭的称其为UWP平台最佳图片裁剪控件(主要是没 ...

  9. 背水一战 Windows 10 (88) - 文件系统: 操作文件夹和文件

    [源码下载] 背水一战 Windows 10 (88) - 文件系统: 操作文件夹和文件 作者:webabcd 介绍背水一战 Windows 10 之 文件系统 创建文件夹,重命名文件夹,删除文件夹, ...

  10. FFmpeg原始帧处理-滤镜API用法详解

    本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10429145.html 在FFmpeg中,滤镜(filter)处理的是未压缩的原始音视频 ...