Android Studio Panda 1 发布,全新的 Gradle 友好版本,XML 时代即将结束

Android Studio Panda 1 正式版发布,当然,这个版本只是一个问题修复版,真正的大版本在后面的 Panda 2 ,这个版本主要修复的问题有:

  • 在"Running Devices "部分看不到真实设备的预览问题 Issue #476936376
  • AGP 9.0.0-rc01 无法通过 kotlin() 函数解析 Kotlin 库问题 Issue #471410336
  • *.xml.flat 文件包含绝对文件路径问题 Issue #398173037
  • Compose screenshot 更新会启动可见的 Java 实例问题 Issue #468205008
  • Layout Editor 不会保存状态问题 Issue #451182456
  • ManifestProcessorTask 警告转换为错误 Issue #458708710
  • Android Studio Otter 中运行 Package 测试时出现问题 Issue #450247317
  • 转换 OBFUSCATION_MAPPING_FILE 会导致 R8 任务的输出文件在输出文件夹中丢失 Issue #469745905
  • 重命名资源文件夹不会改变 APK 内容问题 Issue #467734218
  • Android Studio Otter 建议在 Windows on ARM 上下载"ARM64"版本,但实际上并不存在这种版本 Issue #464644772

而在 AGP 版本兼容是,Panda 1 没有什么特殊要求,所以整体看起来应该不会有大坑:

当然,在 Panda 1 里官方提供了一个比较有意思的描述:使用 Gradle Daemon JVM 标准简化 JDK 管理

为了简化 Gradle 构建的 JDK 管理,Android Studio 现在默认会使用 Gradle Daemon JVM 标准 ,也就是对于新项目,这个支持可以让 Gradle 自动检测适用于的 JDK 来执行 Gradle,如果本地找不到所需的 JDK,会通过下载来安装,这个功能在 Gradle 9.2.0 中可用,也就是:

  • 不再需要安装特定的 JDK 来导入和构建项目,可以减少了因选择无效 JDK 而导致的安装相关错误
  • Gradle 构建的 JDK 选择不仅在不同的机器之间保持一致,而且在 IDE 和命令行之间也保持一致,这可以防止生成多个 Gradle 守护进程,从而避免对性能产生不利影响

对于使用兼容 Gradle 版本的现有项目,Android Studio 会显示一条通知,提供自动将项目定义的 Gradle JDK 配置迁移到 Daemon JVM 标准的选项,同时保持相同的规范:

Daemon JVM criteria 代表了对旧 Gradle JDK 配置的替代,可以从文件 File > Settings > Build, Execution, Deployment > Build Tools > Gradle 进行修改。

新旧对比:

特性 旧的 JDK 管理方式 (org.gradle.java.home / IDE 设置) 新的 Gradle Daemon JVM Criteria
配置存储位置 依赖本地环境配置,如 gradle.properties.idea/gradle.xml、或系统环境变量 JAVA_HOME 统一存储在项目目录的 gradle/gradle-daemon-jvm.properties 文件中
版本控制 难以严格统一,团队成员间的本地 JDK 安装路径和版本往往不同。 完美支持。配置文件作为项目源码的一部分提交到 Git,确保全团队统一
环境依赖与报错 新成员拉取项目后,如果未提前安装指定版本 JDK,导入或构建会直接失败报错。 成本低,实现"开箱即用",Gradle 会根据标准自动下载所需的 JDK,大幅减少环境配置错误
IDE 与命令行的 构建一致性 IDE 经常使用内置 JDK(如 JBR),而终端命令行使用 JAVA_HOME。这会导致后台生成多个不同的 Gradle Daemon 进程,严重消耗内存和降低性能 保持一致 ,无论从 Android Studio 触发构建还是在终端执行 ./gradlew,均统一读取 Criteria 配置文件,确保复用同一个 Daemon 进程

所以,对于新项目 ,从 Android Studio Panda 1 开始,新创建的项目默认就已经启用了 Gradle Daemon JVM Criteria,无需额外配置。

对于现有项目提供自动迁移 ,当开发者在 Android Studio 中打开一个使用兼容 Gradle 版本的现有项目时,IDE 会弹出一个通知,提示将现有的 Gradle JDK 配置自动迁移到 Daemon JVM criteria,点击同意后,Android Studio 会自动完成转换并生成配置文件。

另外还可以通过在 Android Studio 的 Terminal 直接使用 Gradle 提供的内置任务来生成或更新配置,例如如果项目需要强制使用 JDK 17:./gradlew updateDaemonJvm --jvm-version=17

如果需要指定特定的 JDK 供应商,也可以追加参数,如 --jvm-vendor=adoptium

执行后,Gradle 会在 gradle/ 文件夹下生成一个名为 gradle-daemon-jvm.properties 的文件,内容类似于:

ini 复制代码
#This file is generated by updateDaemonJvm
toolchainVersion=17

生成后,将此文件提交到的 Git ,下一次构建时,Gradle 和 Android Studio 都会自动读取这个文件来定位或下载正确的 JDK。

Android Studio Panda 2

Panda 2 是还在预览版中的功能,这里主要提一提 Custom View Preview 弃用。什么意思?大人,XML 时代要结束了。

随着 Android 生态系统向 Jetpack Compose 过渡,构建自定义 UI 组件变得更加高效和直观,并且 Compose 内置了强大的 @Preview 系统,与传统的基于 XML 的方法相比,它为开发自定义 UI 元素提供了更优的工作流程,通过弃用自定义视图预览,官方可以将资源集中用于增强 Compose 生态系统中的预览体验,说人话就是:XML 的不再维护了

实际上你已经有多少年没看到 XML 相关的更新了?

后续 Android Studio 的一些功能更新也大多和 AI 有关系,例如 :

  • Create a new project with AI,在 New Project 的时候 Create with AI
  • Update dependencies with the AI agent

所以,可以看到,XML 时代是真的落幕了,未来 Android Studio 的核心,基本就是 Compose 和 Gemini 的更高度集成,AGP 9 的断舍离可以看出来,谷歌也是在降低各种维护成本。

总得来说,Panda 1 还是可以更新的,只是对于如果要体验更好的话, AGP 9 还是跑不了的,迟早得升级不是?

参考链接

developer.android.com/studio/rele...

docs.gradle.org/current/use...

相关推荐
mCell11 小时前
如何零成本搭建个人站点
前端·程序员·github
mCell12 小时前
为什么 Memo Code 先做 CLI:以及终端输入框到底有多难搞
前端·设计模式·agent
恋猫de小郭12 小时前
AI 在提高你工作效率的同时,也一直在增加你的疲惫和焦虑
前端·人工智能·ai编程
少云清12 小时前
【安全测试】2_客户端脚本安全测试 _XSS和CSRF
前端·xss·csrf
银烛木12 小时前
黑马程序员前端h5+css3
前端·css·css3
m0_6070766012 小时前
CSS3 转换,快手前端面试经验,隔壁都馋哭了
前端·面试·css3
听海边涛声12 小时前
CSS3 图片模糊处理
前端·css·css3
IT、木易12 小时前
css3 backdrop-filter 在移动端 Safari 上导致渲染性能急剧下降的优化方案有哪些?
前端·css3·safari
0思必得013 小时前
[Web自动化] Selenium无头模式
前端·爬虫·selenium·自动化·web自动化
anOnion13 小时前
构建无障碍组件之Dialog Pattern
前端·html·交互设计