Android开发-Android项目Jenkins自动化打包流程搭建与配置

Android 项目 Jenkins 自动化打包流程搭建与配置

  • 1. 前言
  • 2. Jenkins 下载
  • 3. 配置电脑的 JDK 环境
  • 4. Jenkins 安装和设置
  • 5. Jenkins 设置 Android 项目自动打包流程

1. 前言

由于之前公司的 Android 项目需要 APK 自动打包的功能,所以需要搭建 Jenkins 自动化打包的功能。

Jenkins 是一个用于自动化构建、测试和部署软件项目的开源持续集成和持续交付(CI/CD)工具。它提供了一个可扩展的平台,可以帮助开发团队更快地构建、测试和交付他们的应用程序。

Jenkins 可以自动化执行打包操作,使开发团队能够在代码更改后立即构建软件,并生成可部署的软件包。Jenkins 的构建任务可以配置为在特定触发条件下运行,例如代码提交到版本控制仓库或定期计划。

Jenkins 提供了大量的插件,可以扩展其功能,以满足各种项目的需求。你可以使用插件来集成不同的构建工具、部署到不同的目标平台,或执行各种自定义任务。

Jenkins 通常与持续集成和持续交付(CI/CD)工作流程一起使用。它可以作为 CI/CD 管道的一部分,在软件开发周期中自动化构建和部署代码。

总之,Jenkins 的打包功能是其持续集成和持续交付工作流程的关键组成部分之一,它可以帮助开发团队更轻松地构建、测试和交付高质量的软件。通过配置适当的构建任务,你可以根据项目的需求自定义打包过程。

2. Jenkins 下载

下载 Jenkins 的安装包,不建议使用 war 包安装,直接去官网下载 msi 安装包,这样的话不需要本地配置 Tomcat,直接将 Jenkins 当作 Windows 的服务启动,每次开启会自动运行。 下载地址:https://www.jenkins.io/download/ 如果你喜欢自己都动手的话也可以选择 war 包安装,前提是自己本地下载启动 Tomcat。

3. 配置电脑的 JDK 环境

由于最新的 Android Studio 要求项目构建的 JDK 版本必须是 Java 11 以上的版本,所以电脑配置的 JDK 版本必须是 JDK 11 以上的版本。

4. Jenkins 安装和设置

通过 msi 包安装完成之后,在本地默认通过 localhost:8080 能够访问到 Jenkins,然后按照提示找到对应的密钥串(按照界面提示到指定的文件目录找到对应的文件,将对应的密钥串拷贝粘贴即可)

在这里插入图片描述

接下来就是设置 Jenkins 的账号和密码,都是常规操作。然后的安装插件步骤将推荐的插件全部默认安装即可!安装完成通过自己设置的账号密码即可登录 Jenkins。

安装 Android Studio 软件,目的是不需要自己单独的查找 Android SDK 和 NDK,直接通过 AS 来下载,这个过程做开发的基本知道,也不在说明,贴上下载地址:https://www.androiddevtools.cn/

在这里插入图片描述

选择插件管理(Plugin Manager)页面的搜索功能即可搜索下载相关的插件。

选中 Manage Jenkins->Configure System 配置全局的配置,配置 Android 的 Gradle 的路径,ndk 的路径,sdk 的路径,变量名按照图片里面的,不要做修改,这和默认配置有关,默认沿用了 Android Studio 的配置。

在这里插入图片描述

在全局工具配置(Global Tool Configuration)设置 JDK 的环境(打包 Android 项目必须)。注意:此处建议 JDK 不要用自己安装的 JDK 的版本,最好使用 Android Studio 软件的 jre 环境,这样确保配置的成功率。而设置最低的 JDK 版本要求必须是 JDK 11 以上。

在这里插入图片描述

在全局工具配置(Global Tool Configuration)设置 Gradle 的构建环境,Gradle 版本最低要求 6.0 以上。

在这里插入图片描述

5. Jenkins 设置 Android 项目自动打包流程

创建项目名称,配置打包项目,选择:新建 item ->在界面输入打包项目名称,并且选择项目为 free style Code,点击确定即可进入项目具体配置:

在这里插入图片描述

设置 Android 项目打包动态配置,配合安卓项目的 gradle.properties 来实现参数动态化构建,这样就可以在 Jenkins 中动态话选择环境和其他的配置了,选择 General 中的 This project is parameterized,表示当前项目是基于参数话构建,如下配置打包的环境动态化参数 BUILD_TYPE。

在这里插入图片描述

设置远程仓库项目地址和拉取指定仓库代码分支,以及设置远程仓库登录的账号和密码。

在这里插入图片描述

选择构建,配置构建脚本,设置 Gradle 构建坏境和构建指令。

在这里插入图片描述

此时其实已经可以打包,但是,我们此时还可以进行打包完成后的配置,将打好的 APK 包上传到蒲公英,让测试方便下载。
选择构建后操作,然后按照下图中的选项将需要的服务添加到对应的构建后操作选项。

在这里插入图片描述

使用 Jenkins 插件上传应用到蒲公英请看蒲公英的开发文档,开发文档如下: https://www.pgyer.com/doc/view/jenkins_plugin

回到项目首页,选择使用参数构建(Build with Parameters),选择构建类型(BUILD_TYPE),最后点击“开始构建”的就自动打包了。

在这里插入图片描述


———————— The end ————————

码字不易,如果您觉得这篇博客写的比较好的话,可以赞赏一杯咖啡吧~~
在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/130805.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【云计算网络安全】僵尸网络详解:工作原理、控制和保护方法

文章目录 一、什么是僵尸网络?二、僵尸网络因为什么原因而诞生?三、僵尸网络主要用途四、僵尸网络如何工作?五、如何控制僵尸网络?5.1 客户端/服务器僵尸网络模型5.1.1 星形网络拓扑5.1.2 多服务器网络拓扑5.1.3 分层网络拓扑 5.2…

3D开发工具HOOPS助力Eleven Dynamics加速开发QA自动化平台

Nexos平台提供强大的可视化功能,并将整体测量时间减少80%。 2021年10月19日,俄勒冈州本德市(Newswire.com)——工程软件开发工具包的领先供应商Tech Soft 3D今天宣布,Eleven Dynamics是一家位于瑞士的初创公司&#x…

知识增强语言模型提示 零样本知识图谱问答10.8

知识增强语言模型提示 零样本知识图谱问答 摘要介绍相关工作方法零样本QA的LM提示知识增强的LM提示与知识问题相关的知识检索 摘要 大型语言模型(LLM)能够执行 零样本closed-book问答任务 ,依靠其在预训练期间存储在参数中的内部知识。然而&…

在SOLIDWORKS搭建一个简易的履带式机器人

文章目录 前言一、构建模型基本单元二、搭建车体模块三.插入轮子4.构建履带 前言 趁着十一假期,在solidworks中搭建了一个履带式机器人小车,计划将其应用在gazebo中完成多机器人编队的仿真。 一、构建模型基本单元 构建底板(a面&#xff09…

Spring5应用之事务处理

作者简介:☕️大家好,我是Aomsir,一个爱折腾的开发者! 个人主页:Aomsir_Spring5应用专栏,Netty应用专栏,RPC应用专栏-CSDN博客 当前专栏:Spring5应用专栏_Aomsir的博客-CSDN博客 文章目录 参考文献前言事务…

arcgis添加天地图山东wtms服务

arcgis添加天地图wtms服务 首先打开天地图山东网站,进入首页![天地图山东首页](https://img-blog.csdnimg.cn/89df69e1c3d645b4a9e9652a08580342.png)然后点击开发资源进入开发页面点击成为开发者,进入申请秘钥页面,申请秘钥;![在…

Spring5应用之整合MyBatis

作者简介:☕️大家好,我是Aomsir,一个爱折腾的开发者! 个人主页:Aomsir_Spring5应用专栏,Netty应用专栏,RPC应用专栏-CSDN博客 当前专栏:Spring5应用专栏_Aomsir的博客-CSDN博客 文章目录 参考文献前言为什…

Python图形界面框架PyQt5使用详解

概要 使用Python开发图形界面的软件其实并不多,相对于GUI界面,可能Web方式的应用更受人欢迎。但对于像我一样对其他编程语言比如C#或WPF并不熟悉的人来说,未必不是一个好的工具。 常见GUI框架 PyQt5:Qt是一个跨平台的 C图形用户界…

sanic框架解决多进程共享缓存问题

最近在用sanic框架做项目,今天需要处理多进程共享缓存问题,在网上搜索了很多,知道使用multiprocessing模块,但是导入后,直接使用会报错,然后看官网解决问题。 直接看官方文档点我哦 大致意思如下&#xf…

02 认识Verilog HDL

02 认识Verilog HDL ‍ 对于Verilog的语言的学习,我认为没必要一开始就从头到尾认真的学习这个语言,把这个语言所有细节都搞清楚也不现实,我们能够看懂当前FPGA的代码的程度就可以了,随着学习FPGA深度的增加,再不断的…

二维材料黑科技——MXene

石墨烯,一种由单层碳原子组成的二维材料被广泛应用且为人熟知,具有优异的电学、力学和光学性能。还有一类二维材料,它们由过渡金属和碳或氮原子组成,叫做MXene。 MXene是材料科学中的一类二维无机化合物。这些材料由几个原子层厚度…

小程序如何设置各种时间参数

在小程序管理员后台->基本设置处,可以设置各种时间。例如待支付提醒时间、待支付取消时间、自动发货时间、自动收货时间、自动评价时间等等。下面具体解释一下各个时间的意思。 1. 待支付提醒时间:在用户下单后,如果一段时间内没有完成支付…