作者 / Android 产品经理 Adarsh Fernando
就像勤奋的小蜜蜂一样,Android Studio 团队一直忙于 Android Studio Bumblebee (2021.1.1) 🐝 和 Android Gradle 插件 (AGP) 7.1.0 的稳定版,即最新版 Android 官方 IDE 和构建系统的相关工作。我们已针对众多典型开发工作流中涉及的功能进行了改进: 包括 构建和部署、分析和检查,以及 设计。
一些值得注意的新增功能包括: Android Studio 和您的持续集成 (CI) 服务器之间的统一测试作业 ✅、便捷的配对流程 (通过 Wi-Fi 即可连接 ADB📲)、经过改进的性能剖析工具以帮助您识别和分析应用中的卡顿 🕵️,以及无需将应用部署到设备即可预览动画 🎥 和界面互动。
像往常一样,如果没有预览版用户的早期反馈,就不会有这个稳定版。请继续阅读本文或观看 这个视频,以进一步了解此稳定版的亮点和新功能。欢迎大家前往官方网站下载 Android Studio Bumblebee (2021.1.1) 亲自上手体验。
Android Studio Bumblebee (2021.1.1) 的新增功能
以下是按三大主题整理的 Android Studio Bumblebee (2021.1.1) 新增功能完整清单。
构建和部署
全新的设备管理器 (Device Manager) - 您可使用 Bumblebee 的这个新工具窗口更轻松地查看和管理虚拟和实体测试设备。只需通过主菜单选择 视图 (View) > 工具窗口 (Tool Windows) > 设备管理器 (Device Manager) 即可使用。您可在 虚拟 (Virtual) 标签页中创建新设备、查看设备详细信息、删除设备或执行您过去在 AVD 管理器 (AVD Manager,现已删除) 中执行的任何其他操作。您可在 实体 (Physical) 标签页中,使用 ADB Wi-Fi 快速与新设备配对,并一目了然地查看每个实体设备的详细信息,或使用 设备文件浏览器 (Device File Explorer),轻轻一点,快速检查每个设备的文件系统。请前往 版本说明 详细了解全新的设备管理器。
△ 设备管理器 (Device Manager)
通过 Wi-Fi 使用 ADB - Bumblebee 提供了一个简化的流程,可通过 Wi-Fi 连接 Android 11 及更高版本的设备,以便使用 ADB 进行部署和调试。当您在设备上启用 通过 Wi-Fi 进行调试 后,在新的设备管理器 (Device Manager) 的实体 (Physical) 标签页中选择 使用 Wi-Fi 配对 (Pair using Wi-Fi) 以打开配对向导。然后按照提示给出的步骤即可与连接到同一网络的设备进行配对。请阅读 官方文档 了解详情。
△ 通过 Wi-Fi 使用 ADB 配对设备
使用 Gradle 在 Android Studio 中运行插桩测试 - 您是否曾经历过在 Android Studio 和 CI 上运行相同测试,所得结果却不同?这个问题不仅让人失望,还会导致生产力下降。为了解决这个问题,我们在 Android Gradle 插件 (AGP) 7.1.0 中引入了一个 新的测试运行器,默认情况下 Android Studio Bumblebee 在运行插桩测试时都将使用此运行器,因此您的所有测试都借助统一的测试运行器运行。我们在 Android Studio Arctic Fox 中提供过类似的改进措施,即在默认情况下通过 Gradle 运行所有单元测试。同样,此改进也不需要您更改编写或运行测试的方式!
△ 使用不同的运行器导致结果有异
△ Android Studio 现在通过 Gradle 运行插桩测试
- Android Gradle 插件升级助手现在可更新 API 使用情况 - AGP 升级助手 最初在 Android Studio 4.2 中推出,可以帮助用户将其项目更新到最新版本,Arctic Fox 中更新的升级助手会提供一个新的界面,用户可以借此查看和选择升级版本和步骤。在 Bumblebee 中,升级助手现在还会检查并提供更新 DSL 选项,从而帮助您避免使用已弃用但尚未删除的 API。如需了解详细信息,请参阅 "Android Gradle 插件 DSL/API 迁移时间表"。
- 为新项目启用非传递 R 类 - Android Studio Arctic Fox 推出了全新的重构工具,可帮助您使用非传递 R 类来加速构建具有多个模块的应用。使用 Bumblebee 创建新项目时,IDE 会默认将项目配置为使用非传递 R 类。虽然此操作的确能提升性能,但您现在必须通过正确的 package 名称而不是父级模块的 package 名称来引用 R 类,因为 R 类将不再以传递方式进行解析。
- 默认启用模拟器工具窗口 - 此功能最早出现于 Android Studio 4.1 中,您可在 Android Studio 工具窗口中启动模拟器,部署虚拟 Android 设备并与之互动,同时依然停留在 IDE 环境中。Bumblebee 中的改进包括提供扩展控件以及更好地管理快照。如需了解详细信息,请参阅 "直接在 Android Studio 中运行 Android 模拟器"。
- Apple Silicon 支持更新 - 对于在 Apple Silicon (arm64) 硬件上使用 macOS 的用户,从去年开始,Android Studio Arctic Fox 和 Android 模拟器便已支持这种新架构。但在稳定版中,我们将 Android SDK 平台工具 v32.0.0 (包括 ADB 和 fastboot) 和构建工具 v32.1.0 (包括 aapt) 升级为通用二进制文件,这样您的 Android 开发者工具可不依赖 Rosetta 二进制翻译器直接运行。根据社区反馈,该硬件平台上的开发者已经看到性能有显著提升。请阅读 版本说明 了解详情。
分析和检查
性能剖析器中的卡顿检测轨迹 - 使用运行 Android 11 (API 级别 30) 或更高版本的设备分析您的应用时,CPU 性能剖析器现在会显示一组新的轨迹,以描绘 帧生命周期 (Frame Lifecycle) 下每帧的各个阶段: 应用 (Application)、等待 GPU (Wait for GPU)、组合 (Composition) 以及显示帧 (Frames on display)。每个轨迹都会用帧号对帧进行标记并提供不同颜色的矩形进行区分,以便您轻松查看特定帧在其生命周期中的位置,此外还提供了辅助线,您可以随时打开或关闭,从而与 Vsync 事件进行比较。您可以借助这些数据来了解应用中可能出现卡顿的位置并调查根本原因。分析 (Analysis) 面板里新增了一个 帧 (Frames) 标签页,可汇总所有帧的渲染信息以方便您查看。如需了解详细信息,请参阅 "界面卡顿检测"。
△ CPU 性能剖析器中的帧生命周期详细信息
Studio 性能剖析器支持分析可分析应用 - 在分析应用时,应用的版本需要接近用户将安装的应用版本,这对生成准确的数据非常重要。为实现此目标,您现在可以在应用清单中增加 <profileable> 属性来分析不可调试的应用,代码如下所示:
<profileable android:shell="true"/>
可分析 (Profileable) 是 Android 10 中引入的清单配置,可用于 CPU 和内存分析任务。使用可分析 (profileable) 标志而非可调试 (debuggable) 标志可明显降低性能测量的开销;但是,某些分析功能不适用于可分析构建,例如事件时间表 (Event timeline)、由 API 发起的 CPU 分析、堆转储或实时位置记录。如需了解详细信息,请参阅 "可分析应用"。
检查作业、警报和唤醒锁 - 后台任务检查器 (Background Task Inspector) 经扩充,现支持您 检查作业、警报和唤醒锁。您可以查看后台任务安排的实时信息,以及它们执行的详细信息,操作方式与检查 Worker 类似。此外,在检查 Worker 时还可以追踪并检查它为您安排的作业。如果您曾在旧版 IDE 中使用过能耗性能分析器 (Energy Profiler),您现在可导航至菜单栏中的 视图 (View) > 工具窗口 (Tool Windows) > 应用检查 (App Inspection) 并选择 后台任务检查器 (Background Task Inspector) 来检查作业、警报和唤醒锁。
△ 在后台任务检查器中检查作业、警报和唤醒锁
- 网络检查 - 网络分析器 (Network Profiler) 现在已迁移至应用检查 (App Inspection) 工具窗口,让您以更轻量的方式来检查应用中的网络流量。网络分析器的外观和风格得以保留,且可用于运行 API 级别 26 及更高级别设备上的所有可调试应用。如要使用新的分析器,请在菜单栏中选择视图 (View) > 工具窗口 (Tool Windows) > 应用检查 (App Inspection),然后选择网络分析器 (Network Inspector)。如需了解详细信息,请参阅 "使用网络分析器检查网络流量"。
获取布局检查器快照 - 您现在可以获取应用布局层次结构的快照,以保存、共享或稍后检查。快照可获取您在使用布局检查器 (Layout Inspector) 时通常会看到的数据,包括详细的 3D 渲染布局和 View、Compose 或混合布局的组件树,以及界面每个组件的详细属性。检查实时运行应用的布局时,单击布局检查器工具栏中的 导出快照 (Export snapshot) 并使用 .li 扩展名保存快照。如需加载布局检查器快照,请从主菜单中选择文件 (File) > 打开 (Open) 并打开 .li 文件。快照将显示在编辑器窗口的标签页中,以便您轻松将其与正在运行的应用进行比较。如需了解详细信息,请参阅 "获取布局层次结构快照"。
- 在布局检查器中支持 Compose 语义 - 在 Compose 中,语义 用 无障碍服务 和 测试框架 可以理解的方式来描述您的界面。在 Android Studio Bumblebee 中,您可以使用布局 检查器检查 Compose 布局的语义信息。选择 Compose 节点时,使用属性 (Attributes) 窗口检查其是否直接声明语义信息、或是合并其子节点的语义,还是两者兼有。如要快速识别哪些节点包含语义,无论是声明的还是合并的语义,请选择 组件树 (Component Tree) 窗口中的 视图选项 (View options) 下拉菜单并选择 突出显示语义层 (Highlight Semantics Layers)。
设计
互动预览 - Android Studio Arctic Fox 支持在编辑器的 设计/拆分 (Design / Split) 窗口中静态预览可组合函数 (composable function)。在 Bumblebee 中,这个功能得到了扩展,以便您与 Compose 布局的某些组件进行互动以验证行为,无需构建完整应用并将其部署到正在运行的设备!如要开始使用此功能,请导航至可预览的 Compose 函数,然后在 设计/拆分 (Design / Split) 窗口中点击 开始互动模式 (Start Interactive Mode)。如需了解详细信息,请参阅 "互动模式"。
△ 与 Compose Preview 互动以验证行为
动画矢量可绘制对象预览 - 现在可使用预览 (Preview) 窗口查看矢量可绘制对象。查看静态可绘制对象时,您可以为预览窗口设置 "透明"、"白色"、"黑色"、"方格" 背景样式,以查看不同条件下的可绘制对象。动画可绘制对象则支持以不同速度和背景进行预览,从而帮助您在将其加入到应用前对其进行测试。如需了解更多信息,请查阅 "动画矢量可绘制对象 (AVD) 预览"。
△ 预览您的动画矢量可绘制对象
设计工具的设备选择器更新 - 为简化您针对多样化的 Android 设备设计应用的过程,我们已在多个设计工具,例如布局编辑器 (Layout Editor) 和布局验证 (Layout Validation) 的窗口中更新了设备选择器,其提供的参考设备反映了每种设备类型的流行尺寸。从手机到平板电脑,从 Wear 设备到 Android TV,现在您可以更轻松地在最能代表当下常见设备的屏幕尺寸上预览、验证或编辑布局。如需了解更多信息,请查阅 "更改预览外观"。
简要总结一下 Android Studio Bumblebee (2021.1.1) 的新增优化和功能:
构建和部署
- 使用 Gradle 在 Android Studio 中运行插桩测试
- Android Gradle 插件升级助手现在可更新 API 使用情况
- 为新项目启用非传递 R 类
- 新的设备管理器 (Device Manager)
- 通过 Wi-Fi 使用 ADB
- 默认启用模拟器工具窗口
- Apple Silicon 支持更新
分析和检查
- 性能剖析器中的卡顿检测轨迹
- Studio 性能剖析器支持分析可分析应用
- 在后台任务检查器中检查作业、警报和唤醒锁
- 获取布局检查器快照
- 在布局检查器中支持 Compose 语义
设计
- 互动预览
- 动画矢量可绘制对象预览
- 设计工具的设备选择器更新
欢迎您 点击这里 向我们提交反馈,或分享您喜欢的内容、发现的问题。您的反馈对我们非常重要,感谢您的支持!