一、背景
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