又双叒叕到了「激动人心」 的 Android Studio 更新,这次更新的版本是 Giraffe | 2022.3.1,本次更新的 Giraffe(长颈鹿)将 IntelliJ 平台升级到 2022.3 版本,也将 AGP 支持提高到 8.1 ,虽然最低支持 3.2,但是由于自带 JDK17 的原因,所以如果想使用低版本 AGP 需要一些调整,具体可见:《快来适配 AGP8 和 JDK 17》 。
本次更新主要涉及:全新的外观 UI、Live Edit 的改进、Compose 动画预览、新的 Device Explorer、新的 SDK 升级助手、 Kotlin DSL 等等。
IDE 增强功能
Android Studio 的新 UI(Preview)
Giraffe 版本采用了全新的 IDE UI 效果,其中包括一些 Android Studio 特定的更改,如优化 Android 的默认主工具栏和工具窗口配置,更新图标风格等,主要变化有:
- 简化的主工具栏,带有新的VCS、Project和Run 控件
- 工具窗口有新的布局
- 新的浅色和深色主题,主要是改进对比度和调色板
- 新图标提高了所谓的易读性
要使用新 UI 效果,可以在 **Settings > Appearance & Behavior > New UI **中打开,可以看到新 UI 变化包括简化的主工具栏、新的 Tool windows 布局、新的主题和图标等。
新的诊断和错误报告工具
在新 UI 里,可以通过新的诊断和错误报告工具提供详细的问题反馈,使用该工具可以更轻松地报告已附加相关日志文件的错误。
新的错误报告工具可在 Help > Collect Logs and Diagnostic Data 中找到。
具体骤操作为:
- 通过 Help > Collect Logs and Diagnostic Data 启动工具,可以看到出现一个对话框,让你选择要包含的文件
- 选中或取消选中要包含在诊断报告中的特定文件,选中特定文件即可查看其预览
- 当准备好导出诊断报告时,同意条款并选择 Create
- 选择要保存诊断报告 zip 文件的位置,然后点击 Save
作为此增强功能的一部分,错误报告模板(Help > Submit feedback)也更新了,其中也强调附加日志文件的重要性,如果需要提交错误,请务必附加日志,因为这是调试过程中必不可少的第一步。
新的 Device Explorer
新 UI 还附带新的 Device Explorer(在以前版本的 Android Studio 中称为 Device File Explorer )。
在 Device Explorer 中,文件和相关操作位于 Files tab中,而在新的 Processes Tab 中,用户可以查看已连接设备的 debuggable processes 列表,还可以选择一个进程并执行终止、强制停止或将调试器附加到给定进程。
**注意:**用于终止、强制停止或将调试器附加到进程的选项已从 Logcat 移至设备资源管理器。
编码调整
Live Edit & composables 实时更新
Live Edit 支持实时编辑,要使用 Live Edit,可以通过 Settings > Editor > Live Edit 打开它,并使用 Android Gradle Plugin (AGP) 8.1+ 和 Jetpack Compose Runtime 1.3.0 + 版本。
Compose 动画预览扩展
Compose 动画预览现在支持许多其他 Compose API,例如:
- animate*AsState
- CrossFade
- RememberInfiniteTransition
- AnimatedContent(除了updateTransition 和 AnimatedVisibility )
另外现在有新的选择器可以设置非 enum 或者 boolean 状态,以支持精确输入从而调试 Compose 动画。
对于所有支持的 Compose Animation API,开发者可以进行播放、暂停、拖动和控制速度等调试。
Android SDK Upgrade Assistant
新的 Android SDK Upgrade Assistant 可以直接在 IDE 中查看升级 targetSdkVersion 或者 API level 所需的步骤。
它还将与升级相关的文档直接从官方网站提取到其工具窗口中,现在开发者可以不用在浏览器和 IDE 之间来回跳转查看。
对于每个迁移步骤,Upgrade Assistant 都会突出显示主要的重大更改以及如何解决这些更改,甚至过滤完整的更改列表,仅显示与 App 有关的步骤。
要打开 Android SDK 升级助手, 可以在 Tools > Android SDK Upgrade Assistant 打开。
重要提示:从 2023 年 8 月 31 日开始,所有应用都必须面向 Android 12(API 级别 33)或更高版本,才能提交到 Google Play 进行审核,更多可查阅: https://developer.android.com/google/play/requirements/target-sdk 。
构建系统的改进
Gradle 构建脚本中的 Kotlin DSL
Kotlin 不仅更具可读性,还提供更好的编译时检查和 IDE 支持,借助 Android Studio Giraffe,现在 Gradle 构建脚本中支持使用 Kotlin DSL ,这意味着 Kotlin 将是项目代码中使用的第一默认语言,除了使用 Jetpack Compose 的 UI,现在也可以编辑构建脚本。
简单说,就是:Kotlin DSL 现在是新 Gradle 构建的默认设置 。
现在从 Android Studio Giraffe 开始创建新项目或模块时,默认情况下就会使用 Kotlin DSL。
如果想迁移,可以查看 Kotlin DSL 迁移指南: https://developer.android.com/studio/build/migrate-to-kts。
当然,这个更新不会影响使用 Groovy 的现有项目,Groovy 项目还能继续工作,目前 Groovy 支持还没有弃用计划。
使用 Kotlin DSL 相对编译性能比 Groovy DSL 慢,但是 Kotlin DSL 也带来一些其他好处:
-
Kotlin 是静态类型的,在编辑 Kotlin DSL 构建脚本时可以获得快速准确的代码提示
-
语法错误更加准确,并且在编辑 Kotlin DSL 构建脚本时提示,而不是在尝试同步项目时显示:
-
可以通过按 Control+Q(在 macOS 上为 Command+B)获取类型和方法文档:
此外,本次还添加了对基于 TOML 的 Gradle 版本目录的实验性支持,该功能可让开发者在一个中心位置管理依赖项并跨模块或项目共享依赖项。
Android Studio 现在可以通过编辑器建议、与项目结构对话框的集成以及新建项目向导更轻松地配置版本目录。
Gradle 现实同步期间下载信息
新的同步工具窗口现在包括下载依赖项所花费的时间、摘要以及每个存储库下载的详细视图,此视图会在同步发生时实时更新,甚至可以帮助识别配置存储库的低效率问题。
制作选定模块的工具栏按钮
使用 Android Studio Giraffe,现在可以通过选择工具栏中的 Make Selected Modules 构建选项来仅构建正在处理的当前模块。
这个新选项可以检查刚刚编写的代码是否可以编译,而无需构建超出需要的代码。
总结
总结一下,本次更新的核心是全新的 Android Studio UI,也就是更新到了 IntelliJ Platform 2022.3 ,所以开启全新 UI 后,在 UI 习惯上需要一定的适应。
另外基于全新 IntelliJ, 更新了不少增强能力,如全新的 Device Explorer 和 SDK Upgrade Assistant。
其次构建系统的改进最重要的就是默认 Kotlin DSL ,并且Gradle 同步期间显示详细下载信息。
最后就是更好的支持 Compose 预览和动画。
那么,准备好了吗?全新的坑,在呼唤着你。