Android Studio 4.2(2021 年 4 月)

Android Studio 4.2 是一个主要版本,包含各种新功能和改进。

4.2.2(2021 年 6 月)

此小版本更新包含各种错误修复。要查看重要错误修复的列表,请阅读 版本更新博客 上的相关文章。

4.2.1(2021 年 5 月)

此小版本更新捆绑了 Kotlin 插件 1.5.0,并包含各种错误修复。要查看重要错误修复的列表,请阅读 版本更新博客 上的相关文章。

Android Gradle 插件 4.2.0

最新版本的 Android Gradle 插件包含许多更新。要了解更多信息,请阅读 完整的 Android Gradle 插件发行说明

Gradle 兼容性和配置更改

在 Android Studio 中运行时,Gradle 构建工具使用 Studio 的捆绑 JDK。在之前的版本中,JDK 8 与 Studio 捆绑在一起。但是,在 4.2 中,现在改为捆绑 JDK 11。当使用新的捆绑 JDK 运行 Gradle 时,由于对垃圾回收器的更改,这可能会导致一些不兼容性或影响 JVM 性能。这些问题在 AGP 发行说明 中进行了描述。

优化 Gradle 同步时间的选项

为了提高 Gradle 同步性能,Android Studio 在同步期间跳过构建任务列表。这允许 Gradle 同步更快地完成,并提高了大型项目的 UI 响应能力。此选项在 Android Studio 4.2 中默认启用。要将其关闭,请转到**文件 > 设置 > 实验性**(在 Mac 上为**偏好设置 > 实验性**),然后取消选中**在 Gradle 同步期间不要构建 Gradle 任务列表**。

数据库检查器

查询编辑器改进

数据库检查器 包含一些改进,可以帮助您编写和执行自定义 SQL 语句。当您打开检查器并打开**新查询**选项卡时,您应该会注意到一个更大、可调整大小的编辑器界面,用于编写和设置查询格式,如下所示。

DB Inspector editor

此外,我们现在提供了您以前查询的历史记录。当您点击**显示查询历史记录** 显示查询历史记录按钮{: .inline-icon} 按钮时,您应该会看到您以前针对当前选定数据库运行的查询列表。点击列表中的查询以查看编辑器中完整查询的预览,然后按**Enter**将其复制到编辑器。然后,点击**运行**以执行语句。

Run command in query editor

脱机模式

在以前的 Android Studio 版本中,使用数据库检查器时断开与应用进程的连接会导致关闭检查器及其数据。在 Android Studio 4.2 中,我们添加了在进程断开连接后继续检查应用数据库的功能,从而更容易在崩溃后调试应用。

当断开连接发生时,数据库检查器会下载您的数据库,然后将其提供给您在脱机模式下使用。在脱机状态下,您可以打开表格和运行查询。

请记住,当您重新连接到实时应用进程时,数据库检查器将返回到实时模式,并且仅显示设备上的数据。也就是说,脱机模式下显示的数据在您重新连接到应用进程时不会持久保留。因此,数据库检查器不允许在脱机模式下编辑或运行修改语句。

用于 AGP 的升级助手

用于 Android Gradle 插件的新升级助手可以帮助您更新项目的 AGP 版本。

Android Gradle plugin Upgrade Assistant dialog

此工具构建在现有的 AGP 升级功能之上,可指导您完成项目范围的更新/重构,并包含更新预览,以帮助在执行 AGP 升级之前防止潜在的重大更改。

Preview of changes to be performed by Upgrade Assistant

系统跟踪:改进的内存和图形指标

在 CPU 分析器中,系统跟踪 功能现在包含用于分析应用性能的新指标,包括以下内容

  • 事件表。列出当前选定线程中的所有跟踪事件。

  • BufferQueue。在“显示”部分,此新轨迹显示应用界面的缓冲区计数BufferQueue(0、1 或 2),帮助您了解图像缓冲区在 Android 图形组件之间移动时的状态。

    System Trace Buffer Queue

  • CPU 频率。在 CPU 内核部分,此新轨迹按内核显示 CPU 频率,指示每个内核的工作强度。

    System Trace CPU Frequency

  • 进程内存 (RSS)。此新窗口显示应用当前使用的物理内存量。

    System Trace Process Memory (RSS)

更多详情,请参阅使用 CPU Profiler 检查 CPU 活动

新的布局检查器刷新操作

Android Studio 4.0 中引入的布局检查器旨在实时检查正在运行的应用的 UI 堆栈。但是,您可能并不总是希望布局检查器立即反映应用中发生的情况,因为您可能希望检查应用布局在特定时间点的快照,或最大限度地减少实时更新对应用性能的影响。

要手动加载应用的 UI 数据快照,首先禁用实时更新选项。然后,您可以点击刷新{:.inline-icon}按钮以拍摄 UI 堆栈的新快照以进行检查。布局检查器现在会记住您的偏好,在会话之间保持实时更新启用或禁用状态。

支持 Safe Args

Safe Args是一个 Gradle 插件,它会为类型安全的导航和对任何相关参数的访问生成简单的对象和构建器类。Android Studio 在使用 Safe Args 时现在包含更丰富的支持,如下所述。

  • 对 Directions、Args 和各种构建器类的自动完成
  • 支持 Java 和 Kotlin Safe Args 插件
  • 从源代码到 XML 的导航

R8 retrace 现在可在命令行工具中使用

R8 retrace 可在 4.0 版的命令行工具中使用,它是一个独立工具,用于从模糊的堆栈跟踪中获取原始堆栈跟踪。

您可以使用 SDK 管理器下载此软件包,它会将 R8 retrace 安装在android_sdk/cmdline-tools中。或者,您可以下载独立的命令行工具包

有关使用方法的信息,请参阅用户指南中的R8 retrace

部署到多个设备

为了帮助简化跨设备和 API 级别测试应用,您现在可以通过以下步骤同时将应用部署到多个设备或模拟器。

  1. 在目标设备下拉菜单中(位于 IDE 的顶部中央)选择选择多个设备

    Target device dropdown

  2. 选择目标设备,然后点击确定

    Modify device set dialog

  3. 运行您的应用。

功能模块的新removable设置

Android Gradle 插件 4.2 使用bundletool 1.0.0,这会为使用功能模块的应用引入行为更改:任何指定为dist:install-time且未明确标记为dist:removable的功能模块默认情况下将变为不可移除。此新设置优化了安装时模块与基本模块的融合,可能会提高某些应用的应用性能。

要保持功能模块的可移除性,请在要卸载的任何模块上设置dist:removable="true"

有关此新设置的更多信息,请参阅功能模块清单文档中dist:removable标签的文档。

应用更改

为了提高您在迭代应用时的效率,我们对在运行 Android 11 或更高版本的设备上的“应用更改”进行了以下增强。

对更多代码更改的支持

对于运行 Android 11 或更高版本的设备,您现在可以添加静态 final 原生字段,然后通过点击应用代码更改应用代码更改图标应用更改并重启活动应用更改并重启活动图标将这些更改部署到正在运行的应用中。

您现在还可以添加资源,然后通过点击应用更改并重启活动应用更改并重启活动图标将这些更改部署到 Android 11 设备上的正在运行的应用中。

更新的“新建项目”和“新建模块”向导

新建项目”和“新建模块”向导已更新,以便于浏览、选择模板以及输入有关新项目或模块的信息。

新建模块”向导中导入 .JAR/.AAR 包的选项已被移除。要将 JAR 或 AAR 导入到您的项目中,请改用项目结构对话框

Kotlin 1.4.31

Android Studio 4.2 包含 Kotlin 1.4.31。查看Kotlin 1.4.0 变更日志以查看主要更改。

ANDROID_SDK_HOME环境变量已弃用

ANDROID_SDK_HOME环境变量已弃用,并已替换为ANDROID_PREFS_ROOT。有关更多信息,请参阅模拟器环境变量

Android Studio 4.2 的已知问题

本节介绍 Android Studio 4.2 中存在的已知问题。有关完整列表,请访问已知问题页面。

Android Studio 4.2.0 生成的项目使用错误的 Kotlin 版本:“1.5.0-release-764”

如果您正在使用 Android Studio 4.2.0 并已升级到 Kotlin 插件 1.5.0,则 Studio 创建的新 Kotlin 项目将由于以下 Gradle 同步错误而无法构建。

Could not find org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.0-release-764.

作为解决方法,请在项目的build.gradle文件中将1.5.0-release-764替换为1.5.0

使用密钥和密钥库的不同密码时出错

从 4.2 版开始,Android Studio 现在运行在 JDK 11 上。此更新会导致与签名密钥相关的底层行为更改。

当您导航到构建 > 生成签名捆绑包/APK并尝试为应用捆绑包或 APK 配置应用签名时,为密钥和密钥库输入不同的密码可能会导致以下错误。

Key was created with errors:
Warning: Different store and Key passwords not supported for PKCS12 Key stores

要解决此问题,请为密钥和密钥库输入相同的密码。

安装 4.2 版后 Android Studio 无法启动

Studio 尝试导入以前的 .vmoptions 并对其进行清理以使其与 JDK 11 使用的垃圾收集器配合使用。如果此过程失败,则 IDE 可能无法为在 .vmoptions 文件中设置自定义 VM 选项的某些用户启动。

要解决此问题,我们建议注释掉 .vmoptions 中的自定义选项(使用#字符)。.vmoptions 文件可在以下位置找到:

Windows

C:\Users\YourUserName\AppData\<var>[Local|Roaming]</var>\Google\AndroidStudio4.2\studio64.exe.vmoptions

macOS

~/Library/Application Support/Google/AndroidStudio4.2/studio.vmoptions

Linux

~/.config/Google/AndroidStudio4.2/studio64.vmoptions

如果尝试此解决方法后 Studio 仍然无法启动,请参阅下面的升级后 Studio 无法启动