Bootstrap

android应用的持续构建CI(四)-- 依赖环境(兼容多版本的gradle和jdk)

一、背景

android应用的构建前提是,安装好了gradle和jdk。在实际使用的过程中,不同的android应用,对gradle和jdk的版本要求不一。

于是,在jenkins服务器上,我们需要安装多种版本的gradle和jdk。

安装过jdk的小伙伴应该知晓,一台机器虽然可以安装多个jdk,但是环境变量生效的版本只能是其中的一个。

gradle也一样,除非你调用gradle的时候,不使用环境变量下的,而是全路径。

就算gradle可以,jdk却做不到,后者是被依赖的对象,无法显示指明。(请参考链接:修改gradle.properties的配置项org.gradle.java.home

默认情况下,gradle依赖的jdk是取自于环境变量下的jdk。

下面将分别说明,在同一jenkins下,如何同时兼容多版本的gradle和jdk。

二、兼容多版本的gradle

1、下载并解压缩到本地

如下图所示

他们的路径都是/opt
在这里插入图片描述

2、jenkins 全局工具配置

在这里插入图片描述

找到Gradle,把他们全部配置妥当。
在这里插入图片描述
在这里插入图片描述

3、gradle构建的时候,选择对应的版本

在这里插入图片描述

这里的gradle列表,就是上文在全局工具所配置。

不同的android应用,可以选择不同的gradle。
在这里插入图片描述

三、兼容多版本的jdk

文章开头已提及,gradle构建默认是取环境变量下的jdk。

在实际情况下,有些项目要求依赖jdk的版本为11,默认是8。

1、下载并解压至本地

如下图所示:

他们的路径都是/opt
在这里插入图片描述

2、使用指定的jdk

对于jenkins job来说,只需要在gradle构建的时候,传入java home的路径所在。

-Dorg.gradle.java.home=/opt/jdk-11.0.17

在这里插入图片描述

;