【AS】Error:Android Gradle plugin requires Java 11

简介: 最近开始折腾Jetpack,Clone一个MVVN的项目,AS打开,Terminal编译出现下述错误

最近开始折腾Jetpack,Clone一个MVVN的项目,AS打开,Terminal编译出现下述错误:


网络异常,图片无法展示
|


原因是 AGP 7.0后必须使用 Java 11,而跳过版本5、6的原因是让 AGP的版本号与Gradle版本号相匹配,比如:AGP 7.x对应Gradle 7.x的API。具体讲解可见:《AGP 7.0: Next major release for the Android Gradle plugin》


使用 AGP 7.0(Android Gradle Plugin) 构建时需要 JDK 11才能运行Gradle,AS更新到 Android Studio Arctic Fox,直接捆绑了 免费的OpenJDK 11 并将Gradle配置默认使用它,一般就可以直接用了,如果不行再进行 手动配置 亦可~


Tips:从错误提示就可以知道有三种方法可以解决~


0x1、AS手动配置


依次选中项目右键:Open Module Settings


网络异常,图片无法展示
|


接着新旧AS会有区别,先是 老版本


网络异常,图片无法展示
|


OpenJdk 11可以到这里下载:Archived OpenJDK General-Availability Releases


网络异常,图片无法展示
|


然后是 新版本


网络异常,图片无法展示
|


点开,Gradle JDK选择11


网络异常,图片无法展示
|


一路OK,重新Rebuild项目即可,当然也可以到 Settings/Preferences,如图所示处修改~


网络异常,图片无法展示
|


上述入口还可以从Gradle的设置进入:


网络异常,图片无法展示
|


0x2、修改gradle.properties


手动配置完AS,可能出现一种情况:AS可以跑,Terminal跑 gradlew clean build 还是报错,可以在 gradle.properties 文件中指定java home的路径:


# Windows示例
org.gradle.java.home=D\:\\Coding\\AS\\jre
# Mac、Linux示例
org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home


这样做的好处是,电脑全局的JAVA_HOME环境变量不受影响,依旧可以是jdk 1.8,起来依赖到的应用不受影响。


0x3、修改JAVA_HOME


当然,你硬要把环境变量改成11亦可,如:


网络异常,图片无法展示
|


重启AS,然后Terminal键入:gradlew -v


网络异常,图片无法展示
|


可以看到此时的JVM为:11.0.11,其他系统修改环境变量,MAC修改示例如下:


# 查看jdk所在位置
/usr/libexec/java_home -V
# 设置环境变量
vi ~/.bash_profile
# 把jdk1.8.0_172.jdk改成对应11的目录
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
# esc退出输入模式,键入下述目录保存
wq
# 更新配置文件
source ~/.bash_profile


参考文献:




相关文章
|
30天前
|
Android开发
Android基于gradle task检查各个module之间资源文件冲突情况
Android基于gradle task检查各个module之间资源文件冲突情况
Android基于gradle task检查各个module之间资源文件冲突情况
|
28天前
|
Android开发
Android gradle task任务检查各个module之间资源文件冲突.md
Android gradle task任务检查各个module之间资源文件冲突.md
Android gradle task任务检查各个module之间资源文件冲突.md
|
25天前
|
Java
让星星⭐月亮告诉你,Java异常分类[Throwable(Error/Exception(RuntimeException/其他异常)) 检查时异常 非检查时异常]
本文深入解析了Java异常处理机制,重点介绍了`Throwable`类及其子类`Error`和`Exception`,并通过实例代码、流程图和表格详细解释了异常的分类、区别及处理方法,帮助读者掌握异常处理的关键技巧,提升程序的稳定性和健壮性。
42 1
|
1月前
|
Java Android开发 Windows
玩转安卓之配置gradle-8.2.1
为安卓开发配置Gradle 8.2.1,包括下载和解压Gradle、配置环境变量、修改配置文件以增加国内镜像,以及在Android Studio中配置Gradle和JDK的过程。
61 0
玩转安卓之配置gradle-8.2.1
|
2月前
|
Oracle Java 关系型数据库
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
如果遇到"exec format error"问题,文章建议先检查Linux操作系统是32位还是64位,并确保安装了与系统匹配的JDK版本。如果系统是64位的,但出现了错误,可能是因为下载了错误的JDK版本。文章提供了一个链接,指向Oracle官网上的JDK 17 Linux版本下载页面,并附有截图说明。
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
|
2月前
|
Java Android开发 C++
🚀Android NDK开发实战!Java与C++混合编程,打造极致性能体验!📊
在Android应用开发中,追求卓越性能是不变的主题。本文介绍如何利用Android NDK(Native Development Kit)结合Java与C++进行混合编程,提升应用性能。从环境搭建到JNI接口设计,再到实战示例,全面展示NDK的优势与应用技巧,助你打造高性能应用。通过具体案例,如计算斐波那契数列,详细讲解Java与C++的协作流程,帮助开发者掌握NDK开发精髓,实现高效计算与硬件交互。
110 1
|
1月前
|
Java
Error:java: 无效的目标发行版: 11解决方案
Error:java: 无效的目标发行版: 11解决方案
64 0
|
2月前
|
Java
6-17|java error
6-17|java error
|
3月前
|
存储 搜索推荐 Java
探索安卓开发中的自定义视图:打造个性化UI组件Java中的异常处理:从基础到高级
【8月更文挑战第29天】在安卓应用的海洋中,一个独特的用户界面(UI)能让应用脱颖而出。自定义视图是实现这一目标的强大工具。本文将通过一个简单的自定义计数器视图示例,展示如何从零开始创建一个具有独特风格和功能的安卓UI组件,并讨论在此过程中涉及的设计原则、性能优化和兼容性问题。准备好让你的应用与众不同了吗?让我们开始吧!
|
3月前
|
IDE Java Linux
探索安卓开发:从基础到进阶的旅程Java中的异常处理:从基础到高级
【8月更文挑战第30天】在这个数字时代,移动应用已经成为我们日常生活中不可或缺的一部分。安卓系统由于其开放性和灵活性,成为了开发者的首选平台之一。本文将带领读者踏上一段从零开始的安卓开发之旅,通过深入浅出的方式介绍安卓开发的基础知识、核心概念以及进阶技巧。我们将一起构建一个简单的安卓应用,并探讨如何优化代码以提高性能和应用的用户体验。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供宝贵的知识和启发。