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

相关推荐
小羊子说20 小时前
Android系统中 socketpair 的源码解读与应用分析小结
android·java
FL4m3Y4n20 小时前
MySQL索引原理与SQL优化
android·sql·mysql
我命由我1234521 小时前
Android Gradle - Gradle 自定义插件(Build Script 自定义插件、buildSrc 自定义插件、独立项目自定义插件)
android·java·java-ee·kotlin·android studio·android-studio·android runtime
冬奇Lab21 小时前
AudioFlinger混音机制深度解析
android·音视频开发·源码阅读
滑雪的企鹅.1 天前
Kotlin云头条技术点剖析(项目复习02)——用户协议页面
android·开发语言·kotlin
JMchen1231 天前
Android NDK开发从入门到实战:解锁应用性能的终极武器
android·开发语言·c++·python·c#·android studio·ndk开发
脚大江山稳1 天前
单独为mysql数据库的某个库创建用户
android·数据库·mysql
吉哥机顶盒刷机1 天前
XDBL安卓玩机刷机工具V2.8_解压缩版
android·智能手机·电脑
sinat_267611911 天前
Trae AI 进行 Android 从0 到 1的一键开发
kotlin·android studio·trae