错误提示

* What went wrong:
A problem occurred evaluating project ':App'.
> Failed to apply plugin 'com.android.internal.application'.
> Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.
You can try some of the following options:
- changing the IDE settings.
- changing the JAVA_HOME environment variable.
- changing `org.gradle.java.home` in `gradle.properties`. * Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

原因

因为项目升级了gradle 到7.0+

所以需要使用java11去运行gradle编译项目。

本地可以通过Android studio到gradle home 设置修改.

但jenkins需要修改相关配置才可以使用测试,并且不影响之前使用java 1.8的项目编译打包。

安装Java11

查看服务器的JDK版本和安装位置

alternatives --config java

使用alternatives --config java命令,这条命令本身是选择JDK版本,当然选择的时候,就能看到当前服务器可以使用的JDK版本,无论是系统自带还是人工安装的。每个JDK之前都有一个序号,选择不同的序号,就是选择对应的JDK。

There are 4 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
*+ 1 /usr/java/jdk1.8.0_162/jre/bin/java
2 /usr/java/jre1.8.0_162/bin/java

可以看到之前服务器中只有jdk1.8.0

并且是安装在/usr/java目录中。

将下载的jdk压缩包,解压到/usr/java目录中.

sudo tar -xvzf zulu11.56.19-ca-jdk11.0.15-linux_x64.tar.gz -C /usr/java/

目录要和上面java的报错一直,都放/usr/java

不然会出现权限问题。jenkins会访问不了.

安装上面的java11到系统:

alternatives --install /usr/bin/java java /usr/java/zulu11.56.19-ca-jdk11.0.15-linux_x64/bin/java 3

配置Jenkins使用Java11编译

修改Jenkins的编译脚本:

pipeline {
agent any // The variables defined in environment block can be only used in pipeline block
environment {
// Remark:
// If the value of environment variable is empty string,
// the Environment Variable will not be defined,
// For more details, please refer to:
// https://stackoverflow.com/questions/52316089/jenkins-pipeline-define-and-set-variables JAVA_HOME='/usr/java/zulu11.56.19-ca-jdk11.0.15-linux_x64' }

加入JAVA_HOME='/usr/java/zulu11.56.19-ca-jdk11.0.15-linux_x64'

这一行之后,后面执行命令就会用这里配置的java-home来执行Gradle.

又可以在项目的gradle.properties中配置

#org.gradle.java.home=$your java home path

也可以实现.

这时候再去Jenkins中执行build action.

会发现可以成功编译。

最新文章

  1. LeetCode 21 -- Merge Two Sorted Lists
  2. MVC 分页
  3. 实现了与maya场交互的能力
  4. IBM的IT战略规划方法论
  5. python - os.path,路径相关操作
  6. Wireshark抓包工具使用教程以及常用抓包规则
  7. 100+经典Java面试题及答案解析
  8. 【Mysql学习笔记】浅析mysql的binlog
  9. sql 学习之 group by 及 聚合函数
  10. 正则-匹配获取url参数
  11. Sybase常用函数
  12. ASP.NET Ajax
  13. IBM面试记
  14. JQuery when() done() then()
  15. MySQL官方教程及各平台的安装教程和配置详解入口
  16. 理解PEP333-WSGI
  17. 数字转换大写人民币的delphi实现
  18. CentOS安装与配置Powerline插件
  19. css常见效果
  20. linux centos 中Tomcat的安装和自启动配置

热门文章

  1. synchronized的原理
  2. 阿里低代码引擎 | LowCodeEngine - 如何配置并调用请求
  3. C语言之常量(知识点4)
  4. Linux基础学习 | 目录及文件
  5. PCB常用低速、高速板材参数性能(2)
  6. css3中user-select的用法详解
  7. W3School 教程整理
  8. Canvas 制作海报
  9. 给大家补充一个结构体的例子:下面TwoNumber就是一个形式上的结构体
  10. 如何在 Java 中实现无向图