Android Studio Flamingo | 2022.2.1 (2023年4月)

以下是 Android Studio Flamingo 中的新功能。

补丁版本

以下是 Android Studio Flamingo 中补丁版本的列表。

Android Studio Flamingo | 2022.2.1 Patch 2 (2023年5月)

此小更新包括 这些错误修复

Android Studio Flamingo | 2022.2.1 Patch 1 (2023年5月)

此小更新包括 这些 Android Gradle 插件错误修复

主题应用图标和动态颜色

随着 Material 3 中 动态颜色 和 Android 13 中 主题应用图标 的引入,您现在可以创建布局或启动器图标,使其着色以继承用户选择的壁纸的颜色。您可以从 Android Studio Flamingo Beta 1 开始使用此功能。

主题应用图标预览支持

对于 launcher.xml 文件,您现在可以使用工具栏上的新 **系统 UI 模式** 选择器切换壁纸,并查看您的 主题应用图标 如何对不同用户的壁纸做出反应。

**系统 UI 模式** 选择器。


预览跨不同壁纸的主题应用图标。

动态颜色预览

对于 Compose 预览:我们在 Composable 预览 注释中添加了一个新属性 wallpaper。如果您在应用中启用了 动态颜色,则可以使用此新属性切换壁纸,并查看您的 UI 如何对不同用户的壁纸做出反应。要使用此功能,您必须使用 Compose 1.4.0-alpha03 或更高版本。

Compose 预览中的动态颜色壁纸。

对于 Android XML:如果您在应用中启用了 动态颜色,则现在可以使用工具栏上的新 **系统 UI 模式** 选择器切换壁纸,并查看您的布局如何对不同用户的壁纸做出反应。请注意,您必须首先选择将主题更改为 Material 动态颜色主题,然后更改壁纸。

布局编辑器中的动态颜色壁纸。

实时编辑的更新

实时编辑现在有两种模式:手动和自动。在手动模式下,每次您使用 Ctrl + S(macOS 上为 Command+ S)手动保存时,都会应用您的代码更改。在自动模式下,当您更新可组合函数时,在您进行更改时,您的更改将应用到您的设备或模拟器中。要选择要在其中运行实时编辑的模式,请从菜单栏转到 **文件** > **设置**(或 macOS 上的 **Android Studio** > **首选项**),单击 **编辑器** > **实时编辑**,然后选中 **手动推送编辑** 或 **自动推送编辑** 复选框。

Compose 追踪

系统追踪 实用程序是一个 Android 工具,它将设备活动保存到追踪文件中,该文件提供应用在给定时间段内系统进程的总体情况。从 Android Studio Flamingo 开始,您可以在 系统追踪分析器 中使用 Compose 追踪查看您的 Compose 函数。Compose 追踪为您提供了来自系统追踪的低侵入性以及组合中方法追踪级别的详细信息,帮助您了解哪些 Compose 函数实际上正在重新组合。

UI preview of Compose Tracing

要开始使用重组跟踪,您需要更新到至少以下版本

  • Android Studio Flamingo Canary 5
  • Compose UI: 1.3.0-beta01
  • Compose Compiler: 1.3.0
  • 您运行跟踪的设备或模拟器必须至少为 API 级别 30。

此外,您需要在 Compose Runtime Tracing 上添加以下依赖项

implementation("androidx.compose.runtime:runtime-tracing:1.0.0-alpha01")

要查看重组跟踪,请打开 Android Studio Profiler并选择 CPU 分析器。将您的应用导航到您要跟踪的 UI,然后选择系统跟踪记录。在记录过程中,使用您的应用以导致重组。停止记录并处理跟踪后,您可以在线程时间线上直接查看重组跟踪中的 Compose 函数。您还可以从分析窗格的火焰图自上而下自下而上事件选项卡中查看 Compose 函数。

这是一个处于积极开发中的实验性功能,我们欢迎您提供反馈。有关更多详细信息,请参阅Compose 跟踪

项目模板更新

Android Studio Flamingo Canary 6 包含用于创建项目或模块的新模板。默认情况下,模板使用 Compose Material 3,除非它们被指定为 Views 模板。我们建议使用 Compose Material 3 模板(例如,空活动)作为创建 Android 应用的最佳实践。要了解更多信息,请参阅Compose Material 3 参考

要查看模板,请打开新建项目创建新模块向导,方法是选择主菜单中的文件>新建>新建项目新建模块

New Project wizard

设备镜像

通过将设备显示屏直接流式传输到 Android Studio,最大程度地减少开发过程中的中断。设备镜像使您能够使用 Studio 中的正在运行的设备窗口与物理设备进行交互。要启用此功能,请转到文件>设置>工具>设备镜像,然后选中启用物理 Android 设备的镜像旁边的复选框。启用后,连接您的设备,然后部署您的应用或打开正在运行的设备窗口以开始流式传输设备的显示并从 IDE 与其交互。

要开始使用,请确保已连接到设备。您连接到的所有设备都将在正在运行的设备窗口的选项卡中镜像,您可以通过导航到查看>工具窗口>正在运行的设备来打开该窗口。当您将应用部署或测试到已连接的设备时,正在运行的设备窗口会自动出现并显示镜像的设备。

Running Devices UI

隐私声明

如果启用了设备镜像,Android Studio 会自动为任何已连接和配对的设备启动设备镜像。这可能会导致使用adb tcpip命令连接的设备的信息泄露,因为镜像信息和命令通过非加密通道传递。此外,Android Studio 使用非加密通道与 adb 服务器通信,因此镜像信息可能会被主机上的其他用户拦截。

网络检查器流量拦截

从 Android Studio Flamingo Canary 1 开始,网络检查器默认情况下会显示整个时间线的全部流量数据。您可以选择时间线内的一个范围,以仅查看该范围内的流量。

您还可以创建和管理规则,这些规则有助于测试您的应用在遇到不同响应(例如状态代码以及响应标头和正文)时的行为。规则确定要拦截哪些响应以及如何在这些响应到达应用之前修改这些响应。您可以通过选中每个规则旁边的活动复选框来选择要启用或禁用哪个规则。每次修改规则时,规则都会自动保存。

Network Inspector Rules and Rule Details panes

要开始使用,请导航到网络检查器中的规则选项卡,然后单击+以创建新规则。在规则详细信息面板中,为您的新规则命名,并在来源子部分下包含有关您要拦截的响应来源的信息。规则表中的 URL 应根据您对响应来源所做的更改进行更新。此子部分中的所有字段都是可选的。

Origin subsection in the Rules section

响应子部分中,您可以在响应发送到您的应用之前对其进行修改。例如,您可以将规则设置为对具有特定状态代码的响应执行,并修改该状态代码。

Response subsection in the Rules section

修改标头

标头规则子部分中,您可以创建多个子规则,这些子规则会在响应中添加或修改标头。当您创建多个标头规则时,请使用规则表顶部的向上和向下箭头更改标头规则的顺序。顺序会影响修改后的响应的标头,因为标头规则会按其列出的顺序应用。

要开始使用,请单击标头规则部分中的+

要添加标头,请在添加新标头部分中输入标头的名称和值。

Add a new header tab

要修改标头,请导航到编辑现有标头选项卡,并指定您要查找的标头名称或值。输入要替换它的标头名称或值。

Edit existing header tab

修改响应正文

您还可以创建子规则来修改响应的正文。您可以选择查找和替换正文的一部分,其中替换正文中的第一个实例;或者,您可以选择通过选择替换整个正文来替换正文的全部内容。

标头规则类似,您可以创建多个正文规则,这些规则会按其在表中列出的顺序应用。

在布局检查器中自动连接到前台进程

布局检查器现在会自动连接到虚拟或物理设备上的应用。具体来说,布局检查器会自动连接到在已连接设备的前台运行的可调试进程。如果您对此功能有任何反馈,请提交错误

应用质量洞察更新

Android Studio Flamingo Canary 5 及更高版本引入了多个新的应用质量洞察功能,可帮助您专注于高优先级问题并与开发团队协作。

App Quality Insights with device filter open.

为了帮助您识别最重要的问题,您现在可以按以下属性进行过滤。每个过滤器都按事件数量排序,因此您可以查看事件发生的大多数位置。

  • Android 平台版本
  • 设备制造商和型号
  • Crashlytics 信号:信号图标也会出现在问题面板中相关问题的旁边,以便您可以并排查看计数和信号。当问题在过去已关闭并在应用的新版本中重新出现时,则认为该问题已倒退

    Crashlytics Signal filter.

  • 应用版本:此过滤器现在包含一个更高级别的Play 轨道过滤器,您可以使用它来自动选择生产、公开、封闭和/或内部测试轨道中的版本。

此外,现在可以搜索具有大量选项的过滤器,以便您可以更快地自定义视图,而无需滚动浏览所有菜单选项。

直接从 Android Studio 注释和关闭问题

为了方便您与团队成员协作,您现在可以直接在应用质量洞察工具窗口中执行以下操作

  • 关闭问题。要关闭问题,请单击主堆栈跟踪面板中的关闭按钮。最近关闭的问题将在问题面板中以删除线显示。您可以通过再次单击该按钮来重新打开最近关闭的问题。但是,刷新应用质量洞察工具窗口后,关闭的问题将不再可见。

  • 阅读并附加到问题的注释,以便它们在 Firebase 控制台和您的团队成员中可见。要撰写有关问题的注释,请选择该问题并打开注释面板。您必须对 Crashlytics 项目具有写入权限才能撰写注释。带有注释的问题将在问题面板中显示“注释”图标

如果您不熟悉应用质量洞察并希望了解更多信息,请参阅之前的版本说明

离线调查功能受限

从 Android Studio Flamingo Canary 8 开始,您可以在离线状态下执行应用质量洞察工具窗口中的某些操作。如果您发出新的请求(例如,通过单击刷新),并且 Android Studio 无法与 Crashlytics 通信,则应用质量洞察窗口允许您进入脱机模式

App Quality Insights offers offline mode.

在此模式下,您可以继续调查问题和来自缓存数据的最新事件。某些功能(例如更改某些过滤器选项或关闭问题)不可用。要重试与 Crashlytics 的连接并返回到联机状态,请单击重新连接

App Quality Insights reconnect option in offline mode.

一键自动可分析构建和运行

Android Studio Flamingo 和 AGP 7.3 引入了可一键自动分析构建,这使得配置可分析应用并对其进行分析变得更加容易。此功能需要运行 API 级别 29 或更高的虚拟或物理测试设备。要使用此功能,请单击分析应用图标旁边的箭头,然后在两个选项之间进行选择

One-click profileable build menu.

  • 以低开销分析“应用”启动 CPU 和内存分析器。在内存分析器中,仅启用记录原生分配

    Profiling with low overhead.
  • 以完整数据分析“应用”启动 CPU、内存和能量分析器。

    Profiling with complete data.

要了解有关以最小的性能成本测试应用的更多信息,请参阅可分析应用

SDK 扩展的 Lint 支持

Android Studio Flamingo 为 SDK 扩展提供了lint 支持。此功能允许您更新 lint 工具的 API 检查,以便在存在 API 回带并针对新的 API 表面(如Android 隐私沙盒)时正确执行 API 访问。

lint 工具的 API 检查可确保您的代码仅使用由minSdkVersionSDK_INT检查限定的 API。使用 SDK 扩展,API 可以存在于多个 SDK 中。例如,在 Android U 中引入的 API 也可以添加到 Android R、S 和 T 回带扩展中。此外,应用可以使用其清单指定多个 API 作为必需,并且有新的 API 用于检查各个扩展是否可用。lint 工具现在处理检查必需内容和已知存在内容之间重叠的逻辑。

最后,还有与 API 检查相关的 Studio IDE 功能。此功能现在可以处理新 API 表面的 API 违规,执行必要的检查并注册快速修复(每个可用 API 表面一个)。

IntelliJ IDEA 2022.2 平台更新

Android Studio Flamingo Canary 1 包含 IntelliJ IDEA 2022.2 更新,这些更新改进了 IDE 体验。有关更改的详细信息,请参阅IntelliJ IDEA 2022.2 发行说明

捆绑 JDK 17 的 Android Studio

从 Android Studio Flamingo Canary 3 开始,Studio IDE 集成捆绑了 JDK 17。如果 Android Studio 配置为使用嵌入式 JDK,新项目将使用最新稳定版本的 Android Gradle 插件和 JDK 17。但是,现有项目可能会出现问题,您可能需要手动将 JDK 设置为兼容版本。

要了解更多信息,请参阅 设置 JDK 版本