升级至Android Studio Panda 1 | 2025.3.1:支持自动化JDK管理!

前言:

下午开周会的时候,无意在掘金上看到一篇文章。升级Android Studio至Android Studio Panda 1版本,JAVA JDK支持自动管理了。这对于我们安卓开发来说无疑是个好消息,特别是当你所在的公司中有多个不同的安卓仓库。不同的仓库负责人可能会采用不同的JAVA JDK版本,这就会导致一个问题,如果你本地配置的JAVA JDK版本低于同事在项目中配置的JAVA JDK版本,那么编译就会报错提示你配置更高版本的JAVA JDK。

就像现在我本地配置的JAVA JDK版本是JAVA 17,编译报错提示我当前项目需要配置的JAVA JDK是JAVA 21,本地找不到项目配置所需要的Java版本。

sql 复制代码
FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':app'.
> Failed to notify project evaluation listener.
   > Could not create task ':app:compileDefaultDebugJavaWithJavac'.
      > Failed to calculate the value of task ':app:compileDefaultDebugJavaWithJavac' property 'javaCompiler'.
         > Cannot find a Java installation on your machine (Windows 10 10.0 amd64) matching: {languageVersion=21, vendor=any vendor, implementation=vendor-specific, nativeImageCapable=false}. Toolchain download repositories have not been configured.
   > KotlinJvmAndroidCompilation with name 'defaultDebug' not found.

1.升级Android Studio Panda 1版本

升级完成后,再次打开Android Studio在右下角会有一个Migrate to Gradle Daemon toolchain的气泡提示:

Migrate to Gradle Daemon toolchain翻译成中文的意思是:迁移到Gradle守护进程工具链。对于标题下的文本翻译如下:

Projects using Daemon toolchain allow builds to automatically detect installed toolchains given the defined JVM criteria or download a compatible one if cannot be found locally. In addition, using the Daemon toolchain aligns the selection between CLI and IDE, avoiding spawning multiple Daemons improving performance but also makes it simple to handle the required toolchain on different machines.

使用Daemon工具链的项目允许构建在给定定义的JVM条件下自动检测已安装的工具链,或者在本地找不到的情况下下载兼容的工具链。此外,使用Daemon工具链可以使CLI和IDE之间的选择保持一致,避免产生多个Daemon,从而提高了性能,但也使在不同机器上处理所需的工具链变得简单。

点击上述截图中的2处(Migrate),等待编译完成后,在gradle目录下会帮我们自动生成一个gradle-daemon-jvm.properties的文件,文件内容如下:

关于该文件中内容,笔者使用AI搜索了下,给出的解释还是比较详细的,内容如下:

  • toolchainUrl 前缀:表示不同平台(操作系统、架构)的 JDK 下载或重定向 URL。 这些 URL 指向 foojay.io(开源 JDK 发现服务),每个 ID 代表特定的 JDK 构建。
  • toolchainVendortoolchainVersion 指定所需的 JDK 供应商和版本。 Gradle 在需要运行 Daemon 但当前 JDK 不符合要求时,会根据这些 URL 下载合适的 JDK 并缓存。

总结

gradle-daemon-jvm.propertiesGradle 8.0 以上版本自动生成的配置文件 ,用于定义 Gradle Daemon 自身运行时所需的 JDK 版本及下载源 。该文件由 updateDaemonJvm 机制动态维护,确保即使系统默认 JDK 不符合 Gradle 最低版本要求,Gradle 也能自动获取合适的 JDK 并启动守护进程。

相关推荐
IT毕设实战小研3 小时前
基于大数据的国内主要农作物产量趋势分析与可视化
android·java·大数据·django·课程设计
企业数字化笔记4 小时前
固定资产历史数据怎么导入系统?Excel模板、字段映射和数据校验
android·java·数据库·后端
龙之叶4 小时前
Android出海系列-GMS认证介绍
android
潮族大Z4 小时前
Android性能优化:启动、内存、卡顿的一站式排查手册
android
事圆则缓6 小时前
从suspend字节码到 Retrofit 协程桥:挂起函数识别与恢复
android·retrofit
杉氧7 小时前
RN 性能调优指南:重渲染(Re-renders)控制与长列表(FlatList)优化
android·前端·react native
Coffeeee7 小时前
claude-video 一个让你的Agent拥有看视频能力的Skill
android·人工智能·aigc
菜鸟~noob2339 小时前
【电子战】第07篇:多普勒测向【含matlab代码】
android·开发语言·matlab
样子20189 小时前
Js 之根据白名单过滤 HTML(防止 XSS 攻击)
android·前端·javascript·html·xss
InsightCore9 小时前
别再往 Skill 里塞一切:我们如何重新思考 AI Debug Engineer
android·debug