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

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

  • [1. 前言](#1. 前言)
  • [2. Jenkins 下载](#2. Jenkins 下载)
  • [3. 配置电脑的 JDK 环境](#3. 配置电脑的 JDK 环境)
  • [4. Jenkins 安装和设置](#4. Jenkins 安装和设置)
  • [5. Jenkins 设置 Android 项目自动打包流程](#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 ------------------------

码字不易,如果您觉得这篇博客写的比较好的话,可以赞赏一杯咖啡吧~~


相关推荐
大模型码小白11 小时前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程
腾渊信息科技公司12 小时前
Spring Boot对接MES实战:视觉检测数据自动同步方案
java·人工智能·spring boot·后端·计算机视觉·ai·软件需求
爱笑的源码基地13 小时前
高并发 Redis 缓存门诊HIS系统源码,含财务统计药房进销存
java·程序·门诊系统·诊所系统·云诊所源码
HLC++13 小时前
Linux的进程间通信
android·linux·服务器
莫逸风15 小时前
【AgentScope 2.0】 0. 学习指南
java·llm·agent·agentscope
z1234567898616 小时前
2026最新两款AI编程工具深度对比实测
java·数据库·ai编程
爱笑鱼16 小时前
Binder(二):AIDL 生成的 Proxy、Stub 和 Parcel 到底在做什么?
android
yaoxin52112317 小时前
470. Java 反射 - Member 接口与 AccessFlag
java·开发语言·python
做个文艺程序员17 小时前
Linux第24篇:Java应用监控体系搭建:Prometheus+Grafana可视化运维
java·grafana·prometheus
爱笑鱼17 小时前
Binder(一):一次方法调用,究竟怎样跨进程执行?
android