原文链接 developer.android.com/studio/rele…

新的 Android Studio 版别 Flamingo (火烈鸟) 已经发布,本次更改最有意思的点在于: Flamingo 自带的 JDK 是 JDK 17 而不再是 JDK 11,别的还有如 IDE 支撑运用主题图标和动态色彩,更新了 Network Inspector ,更强壮的 App Quality Insights ,Live Edit 更新等等。

自带变成 JDK 17 ,大家更新需谨慎

运用主题图标和动态色彩

跟着Material 3 中动态色彩和 Android 13 中运用主题图标的引进 ,开发者现在创立的布局或发动图标会经过上色然后承继用户所选壁纸的色彩。

主题运用程序图标预览支撑

关于 launcher.xml 文件,现在能够运用东西栏上新的 System UI Mode 来切换墙纸,并支撑查看运用图标主题在用户挑选不同壁纸之后的效果。

Android Studio Flamingo | 2022.2.1 发布,快来看看有什么更新吧

从 Android 13(API 等级 33)开端,用户能够为他们的自适应图标设置主题,假如用户启用了运用主题图标(例如在系统设置中翻开主题图标切换),而且 App launcher 进行了支撑,系统将运用用户挑选的壁纸和主题的色彩来确认 App Icon 的色彩。

Android Studio Flamingo | 2022.2.1 发布,快来看看有什么更新吧

动态色彩预览

关于 Compose Preview:新版 Android Studio 向 Composable Preview 注释增加了一个新特点: wallpaper

假如运用中启用了动态色彩,开发者就能够运用这个新特点来切换壁纸,并查看 App 的 UI 对用户挑选不同的壁纸后效果。

要运用此功用,有必要运用 Compose 1.4.0-alpha03 或更高版别。

Android Studio Flamingo | 2022.2.1 发布,快来看看有什么更新吧

动态色彩是运用 M3 配色方案构建,从Android 12开端,用户能够经过壁纸挑选等自定义设置生成个性化方案。以 M3 为根底,用户生成的色彩能够与运用色彩共存,将一系列可定制的视觉体会交到用户手中。

关于 Android XML:假如运用中启用了动态色彩,现在也能够运用东西栏上新的 System UI Mode 来切换, 需求注意的是,这儿需求先将主题更改为 Material 动态色彩主题,然后再更改壁纸。

Android Studio Flamingo | 2022.2.1 发布,快来看看有什么更新吧

Live Edit 更新

live Edit 现在有两种形式:手动和主动:

  • 在手动形式下,每次运用 Ctrl+ S(关于 macOSCommand+ S)手动保存时都会提交代码更改。
  • 在主动形式下,当更新 composable 函数时,所做的更改会在进行更改时主动提交到设备或模拟器中。

挑选要运转 Live Edit 形式,能够从菜单栏(或Mac 上的 Android Studio > Preferences )转到 File> Settings ,点击 Editor > Live Edit,,然后选中 Push Edits Manually 或许 Push Edits Automatically 框。

Compose Tracing

System tracing 支撑将设备活动保存到盯梢文件中,然后供给特定时间段内运用系统进程的整体情况。

从 Android Studio Flamingo 开端,开发者能够运用 Compose Tracing 在 System Trace Profiler 中查看 Compose 函数 , Compose Tracing 供给低侵入性的系统盯梢,协助开发者了解哪些 Compose 函数实际上正在被重构。

Android Studio Flamingo | 2022.2.1 发布,快来看看有什么更新吧

要运用 recomposition tracing,需求至少更新到以下版别:

  • Android Studio Flamingo
  • 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")

要查看 recomposition tracing, 需求翻开 Android Studio Profiler 并挑选 CPU profiler,之后翻开 App 跳转到要盯梢的 UI,然后挑选 System Trace and Record

录制时,能够运用你的 App 让它产生 recomposition,在停止记录和盯梢过程后,能够直接在 Threads timeline 中看到 recomposition trace 中的 Compose 函数。

你还能够在 Analysis 的Flame Chart Top Down Bottom Up 和 Events 选项卡中看到 Compose 函数 。

目前这是一项实验性功用,有关详细信息,可查阅 Compose tracing.。

项目模板更新

Android Studio Flamingo 包括用于创立项目或模块的新模板。

默许情况下,模板运用 Compose Material 3,除非它们被指定为 Views template,建议运用 Compose Material 3 模板(例如Empty Activity)作为创立 Android 运用。

要查看模板,能够经过从主菜单中挑选 File > New > New Project 项目,经过 New ProjectCreate New Module 来翻开向导。

Android Studio Flamingo | 2022.2.1 发布,快来看看有什么更新吧

Network Inspector 流量阻拦

从 Android Studio Flamingo 开端 ,Network Inspector 默许显示完整时间线的所有流量数据,开发者能够在时间线中挑选一个范围来查看该范围内的流量。

别的还能够创立和管理规矩来协助测试运用在遇到不同呼应(例如状况代码、呼应标头和正文)时的行为

这些规矩确认要阻拦哪些呼应,以及如安在呼应抵达运用程序之前修正这些呼应,开发者能够经过选中每个规矩周围的 Active 框来挑选要启用或禁用的规矩,每次修正规矩时都会主动保存。

Android Studio Flamingo | 2022.2.1 发布,快来看看有什么更新吧

首先,翻开到 Network Inspector 中的 Rules 选项卡,然后单击 + 创立新规矩,在 Rule Details 面板中命名新规矩,并在 Origin 部分下包括有关要阻拦的呼应来历的信息,Rules 表中的 URL 需求根据开发者对呼应来历所做的更改进行更新。

Android Studio Flamingo | 2022.2.1 发布,快来看看有什么更新吧

Response 部分,能够在将呼应发送到运用之前对其进行修正,例如能够将规矩设置为对具有特定状况代码的呼应履行并修正该状况代码。

Android Studio Flamingo | 2022.2.1 发布,快来看看有什么更新吧

修正 header

Header rules 部分中,能够创立多个子规矩来增加或修正呼应中的标头。

当创立多个标题规矩时,运用规矩表顶部的向上和向下箭头来更改标题规矩的次序,该次序会影响修正后的呼应标头,由于标头规矩是按照它们列出的次序运用的。

能够经过点击 Header rules 部分中的 + 增加规矩,然后在 Add new header 部分中输入标题的称号和值 。

Android Studio Flamingo | 2022.2.1 发布,快来看看有什么更新吧

要修正 header ,能够在 Edit existing header 选项卡里指定要查找的 header 称号或值,输入要替换的header 称号或值。

Android Studio Flamingo | 2022.2.1 发布,快来看看有什么更新吧

修正 response

假如有需求,还能够创立子规矩来修正 response 的主体。

咱们能够挑选查找和替换 body 的一部分,或许经过挑选 Replace entire body 来替换整个正文的全部内容。

与 Header rules 相似,这儿能够创立多个主体规矩,这些规矩按照它们在表中列出的次序运用。

布局查看器主动衔接 foreground process

布局查看器现在会主动衔接到虚拟或物理设备上的运用上,具体来说,就是布局查看器会主动衔接到在已衔接设备的 foreground process 的可调试进程上。

App Quality Insights 更新

Android Studio Flamingo 引进了多项新的 App Quality Insights 功用,可协助开发者专心于高优先级问题,并支撑团队协作。

Android Studio Flamingo | 2022.2.1 发布,快来看看有什么更新吧

新过滤器和过滤器查找

为了协助开发者识别出重要的问题,现在能够按以下特点进行过滤,每个过滤器都按事情数排序,因而能够看到大多数事情产生的位置:

  • 安卓渠道版别

  • 设备品牌和型号

  • Crashlytics Signal :Signal icons 还会显示在 Issues 面板中相关问题的周围,因而开发者能够排查计数和信号。假如某个问题在过去已被封闭,但在新版别的运用中再次出现,则该问题被视为已回归。

    Android Studio Flamingo | 2022.2.1 发布,快来看看有什么更新吧

  • 运用版别:挑选器现在包括一个更高等级的 Play track 挑选器,能够运用它主动挑选生产、敞开、封闭和/或内部测试中的版别。

此外,现在能够查找支撑选项过滤器,因而能够更快地自定义视图,而无需滚动浏览所有菜单选项。

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

为了更轻松地与队友协作,现在能够直接在 App Quality Insights 东西窗口中履行以下操作:

  • Close issues:要封闭问题,能够点击主仓库盯梢面板中的 Close 按钮,最近封闭的问题会出现在带有删除线的 issues 面板中。你能够经过再次点击该按钮重新翻开最近封闭的问题,可是刷新 App Quality Insights 东西窗口后,已封闭的问题将会消失。
  • 阅览问题并附上注释: 为了在 Firebase 控制台和你的团队成员中能够一起处理问题,假如需求写关于问题的注释,请挑选问题并翻开 Notes 面板。当然,你有必要拥有 Crashlytics 项目的写入权限才干编写注释。

假如你关于 App Quality Insights 还不了解,能够参阅 早期的发布说明。

离线时运用有限的功用进行调查

从 Android Studio Flamingo 开端,开发者能够在离线时的 App Quality Insights 东西窗口中履行一些操作。

假如发出的是新请求(例如经过单击Refresh ) ,而且 Android Studio 无法与 Crashlytics 通讯,则 App Quality Insights 窗口答应开发者进入 Offline Mode

Android Studio Flamingo | 2022.2.1 发布,快来看看有什么更新吧

在此形式下,开发者能够持续调查缓存数据中的问题和最新事情,当然,某些功用(例如更改某些过滤器选项或封闭问题)不可用,要在与 Crashlytics 的衔接并回来在线状况,能够点击 Reconnect

Android Studio Flamingo | 2022.2.1 发布,快来看看有什么更新吧

一键式主动化可装备构建和运转

Android Studio Flamingo 和 AGP 7.3 引进了一键式主动化可装备构建,这使得装备 profileable app 变得愈加容易。

此功用需求 API 等级 29 或更高等级的虚拟或物理测试设备,要运用该功用,请单击 Profile app 程序图标 周围的箭头,然后在两个选项之间进行挑选:

Android Studio Flamingo | 2022.2.1 发布,快来看看有什么更新吧

  • 以低开支装备 “app” 发动 CPU 和内存分析器,在内存分析器中,仅启用 记录本机分配。

    Android Studio Flamingo | 2022.2.1 发布,快来看看有什么更新吧

  • 具有完整数据的装备文件“运用” 会发动 CPU、内存和能源分析器。

    Android Studio Flamingo | 2022.2.1 发布,快来看看有什么更新吧

要了解有的更多信息,能够参阅 Profileable applications 。

对 SDK 扩展的 Lint 支撑

Android Studio Flamingo 为 SDK 扩展供给 lint支撑,此功用答应开发者更新 lint 东西的 API 查看,然后支撑存在 API backports 和新的 API surfaces(如 Android Privacy Sandbox )的情况下正确施行 API 访问。

经过 SDK 扩展,一个 API 能够存在于多个 SDK 中。例如 Android U 中引进的 API 也能够增加到 Android R、S 和 T 向后移植扩展中。

此外,运用程序能够根据需求运用其清单指定多个 API,而且有新的 API 用于查看各个扩展是否可用,lint 东西现在处理逻辑以查看所需内容和已知内容是否存在重叠。

最后,还有与 API 查看相关的 Studio IDE 功用。此功用现在能够处理新 API surfaces 的 API 违规,履行必要的查看并注册快速修复。

与 JDK 17 绑缚

从 Android Studio Flamingo 开端,Studio IDE 与 JDK 17 绑缚在一起,假如 Android Studio 装备为运用嵌入式 JDK,则新项目将运用最新稳定版别的 Android Gradle 插件和 JDK 17,可是,现有项目可能会有 break,你可能手动将 JDK 设置为兼容版别。

设置 JDK 版别

Android Studio 2.2 及更高版别绑缚供给了最新版别的 OpenJDK,这是咱们建议用于 Android 项目的 JDK 版别,如需运用绑缚的 JDK,请履行以下操作:

  1. 在 Android Studio 中翻开项目,然后顺次挑选 File > Settings… > Build, Execution, Deployment > Build Tools > Gradle(在 Mac 上,顺次挑选 Android Studio > Preferences… > Build, Execution, Deployment > Build Tools > Gradle)。
  2. Gradle JDK 下,挑选 Embedded JDK 选项。
  3. 点击 OK

默许情况下,用于编译项目的 Java 语言版别取决于项目的 compileSdkVersion(由于不同版别的 Android 支撑不同版别的 Java)。如有必要,你能够经过将以下 CompileOptions {} 代码块增加到 build.gradle文件替换此默许 Java 版别:

android{
 compileOptions{
   sourceCompatibilityJavaVersion.VERSION_1_6
   targetCompatibilityJavaVersion.VERSION_1_6
 }
}