升级至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 并启动守护进程。

相关推荐
YF02111 天前
AndroidStudio工具链配置
android studio
Kapaseker1 天前
一杯美式搞懂 Any、Unit、Nothing
android·kotlin
黄林晴1 天前
你的 Android App 还没接 AI?Gemini API 接入全攻略
android
恋猫de小郭1 天前
2026 Flutter VS React Native ,同时在 AI 时代 VS Native 开发,你没见过的版本
android·前端·flutter
冬奇Lab1 天前
PowerManagerService(上):电源状态与WakeLock管理
android·源码阅读
BoomHe2 天前
Now in Android 架构模式全面分析
android·android jetpack
二流小码农2 天前
鸿蒙开发:上传一张参考图片便可实现页面功能
android·ios·harmonyos
鹏程十八少2 天前
4.Android 30分钟手写一个简单版shadow, 从零理解shadow插件化零反射插件化原理
android·前端·面试
Kapaseker2 天前
一杯美式搞定 Kotlin 空安全
android·kotlin
三少爷的鞋2 天前
Android 协程时代,Handler 应该退休了吗?
android