Android Studio 3.5(2019 年 8 月)

Android Studio 3.5 是一个主要版本,也是 Project Marble 的成果。从 Android Studio 3.3 版本开始,Project Marble 计划涵盖多个版本,重点改进 IDE 的三个主要领域:系统运行状况功能改进和错误修复。

有关这些和其他 Project Marble 更新的信息,请阅读 Android 开发者博客文章或以下部分。

我们还要感谢所有帮助我们发布此版本的 社区贡献者

3.5.3(2019 年 12 月)

此小版本更新包含各种错误修复和性能改进。

3.5.2(2019 年 11 月)

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

3.5.1(2019 年 10 月)

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

Project Marble:系统运行状况

本节介绍 Android Studio 3.5 中专注于改进系统运行状况的更改。

推荐的内存设置

如果 Android Studio 检测到可以通过增加操作系统应为 Android Studio 进程(例如核心 IDE、Gradle 守护程序和 Kotlin 守护程序)分配的最大 RAM 量来提高性能,它现在会通知您。您可以通过点击通知中的操作链接来接受推荐的设置,也可以通过选择**文件 > 设置**(或 macOS 上的**Android Studio > 首选项**),然后在**外观和行为 > 系统设置**下找到**内存设置**部分来手动调整这些设置。要了解更多信息,请参阅 最大堆大小

A notification about recommended memory settings.

关于推荐内存设置的通知。

内存使用情况报告

Android Studio 中的内存问题有时难以重现和报告。为了帮助解决此问题,Android Studio 允许您通过点击菜单栏中的**帮助 > 分析内存使用情况**来生成内存使用情况报告。这样做时,IDE 会在本地清除个人信息的數據,然后再询问您是否要将其发送给 Android Studio 团队,以帮助确定内存问题的根源。要了解更多信息,请参阅 运行内存使用情况报告

A memory usage report.

内存使用情况报告。

Windows:防病毒文件 I/O 优化

Android Studio 现在会自动检查某些项目目录是否已从实时防病毒扫描中排除。当可以进行调整以提高构建性能时,Android Studio 会通知您并提供有关如何优化防病毒配置的说明。要了解更多信息,请参阅 最大限度地减少防病毒软件对构建速度的影响

Project Marble:功能改进

本节介绍 Android Studio 3.5 中专注于改进现有功能的更改。

应用更改

“应用更改”允许您将代码和资源更改推送到正在运行的应用中,无需重启应用,在某些情况下,甚至无需重启当前 Activity。“应用更改”实现了一种全新的方法来保留应用的状态。与通过重写 APK 字节码的 Instant Run 不同,“应用更改”通过利用 Android 8.0(API 级别 26)或更高版本中支持的运行时检测技术,动态重新定义类。

要了解更多信息,请参阅 应用更改

The toolbar buttons for Apply Changes.

“应用更改”的工具栏按钮。

应用部署流程

IDE 现在提供一个新的下拉菜单,可让您快速选择要将应用部署到的设备。此菜单还包括一个新选项,允许您同时在多个设备上运行应用。

Target device drop-down menu.

目标设备下拉菜单。

改进的 Gradle 同步和缓存检测

IDE 现在能够更好地检测 Gradle 何时定期清除构建缓存以减少其硬盘占用。在以前的版本中,此状态会导致 IDE 报告缺少依赖项并导致 Gradle 同步失败。现在,IDE 只需根据需要下载依赖项,以确保 Gradle 同步成功完成。

改进的构建错误输出

构建 构建窗口图标 窗口现在提供更好的错误报告,例如指向报告错误的文件和行的链接,适用于以下构建过程

  • AAPT 编译和链接
  • R8 和 ProGuard
  • Dexing
  • 资源合并
  • XML 文件解析
  • Javac、Kotlinc 和 CMake 编译

项目升级

改进的更新体验,提供更多信息和操作,以帮助您更新 IDE 和 Android Gradle 插件。例如,更多同步和构建错误包含可帮助您在更新时减轻错误的操作。

重要的是要记住,您可以独立于其他组件(例如 Android Gradle 插件)更新 IDE。因此,您可以安全地在有新版本可用时立即更新 IDE,稍后再更新其他组件。

布局编辑器

Android Studio 3.5 包含对布局可视化、管理和交互的若干改进。

使用 ConstraintLayout 时,“属性”面板中的新约束部分列出了所选 UI 组件的约束关系。您可以从设计界面或约束列表中选择约束,以突出显示两个区域中的约束。

Constraint relationships for a selected UI element.

所选 UI 元素的约束关系。

同样,您现在可以通过选择约束并按 Delete 键来删除约束。您还可以通过按住 Control 键(macOS 上为 Command 键)并单击约束锚点来删除约束。请注意,当您按住 ControlCommand 键并悬停在锚点上时,任何关联的约束都会变为红色,表示您可以单击将其删除。

选择视图后,您可以通过单击“属性”面板的“约束小部件”部分中的任何 + 图标来创建约束,如下图所示。创建新的约束后,布局编辑器现在会选择并突出显示该约束,从而立即提供您刚刚添加内容的可视化反馈。

An animation showing how to use the constraint widget to create
            constraints.

使用约束小部件创建约束。

创建约束时,布局编辑器现在仅显示您可以对其进行约束的合格锚点。以前,布局编辑器会突出显示所有视图上的所有锚点,而不管您是否可以对其进行约束。此外,蓝色叠加层现在会突出显示约束的目标。当尝试约束到与另一个组件重叠的组件时,此突出显示特别有用。

An animation showing how to create a constraint for an overlapping
            component in Android Studio 3.4.

在 Android Studio 3.4 中为重叠组件创建约束。

An animation showing how to create a constraint for an overlapping
            component in Android Studio 3.5.

在 Android Studio 3.5 中为重叠组件创建约束。

除了上述更新之外,Android Studio 3.5 还包含以下布局编辑器改进

  • “约束小部件”和默认边距下拉菜单现在允许您使用尺寸资源作为边距。
  • 在布局编辑器工具栏中,确定设计界面大小的设备列表已更新。此外,调整大小时的吸附行为已得到改进,设计界面上的调整大小手柄现在始终可见。调整大小时,会出现显示常用设备尺寸的新叠加层。
  • 布局编辑器具有新的配色方案,可提高一致性并减少组件、文本和约束之间的对比度。
  • 蓝图模式现在包含对某些组件的文本支持,以前这些组件不显示文本。

有关这些更改的更多信息,请参阅 Android Studio Project Marble:布局编辑器

数据绑定

除了为数据绑定添加 增量注释处理支持 外,IDE 还改进了在 XML 中创建数据绑定表达式时的智能编辑器功能和性能。

An animation showing code editor performance on Android Studio
            3.4.

Android Studio 3.4 上的代码编辑器性能。

An animation showing code editor performance on Android Studio
            3.5.

Android Studio 3.5 上改进的代码编辑性能。

改进的 C/C++ 项目支持

Android Studio 3.5 包含一些改进 C/C++ 项目支持的更改。

针对单一变体同步的构建变体面板改进

您现在可以在“构建变体”面板中同时指定活动构建变体和活动 ABI。此功能简化了每个模块的构建配置,还可以提高 Gradle 同步性能。

要了解更多信息,请参阅 更改构建变体

Build Variants panel showing single variant selection by ABI.

通过 ABI 进行单一变体选择的构建变体面板。

NDK 的并排版本

您现在可以并排使用多个版本的 NDK。此功能在配置项目时为您提供了更大的灵活性,例如,如果您在同一台机器上拥有使用不同 NDK 版本的项目。

如果您的项目使用 Android Gradle 插件 3.5.0 或更高版本,您还可以指定项目中每个模块应使用的 NDK 版本。您可以使用此功能来创建可重现的构建,并减轻 NDK 版本与 Android Gradle 插件之间不兼容的问题。

要了解更多信息,请参阅 安装和配置 NDK、CMake 和 LLDB

ChromeOS 支持

Android Studio 现在正式支持 ChromeOS 设备,例如 HP Chromebook x360 14、Acer Chromebook 13/Spin 13 等,您可以在 系统要求 中阅读有关这些设备的信息。要开始使用,请在兼容的 ChromeOS 设备上 下载 Android Studio 并按照 安装说明 操作。

注意:ChromeOS 上的 Android Studio 目前仅支持将您的应用部署到已连接的硬件设备。要了解更多信息,请阅读 在硬件设备上运行应用

功能模块的条件交付

条件交付允许您为功能模块设置某些设备配置要求,以便在应用安装期间自动下载这些模块。例如,您可以配置一个包含增强现实 (AR) 功能的功能模块,使其仅在安装应用时对支持 AR 的设备可用。

此交付机制目前支持基于以下设备配置控制应用安装时模块的下载

  • 设备硬件和软件功能,包括 OpenGL ES 版本
  • 用户国家/地区
  • API 级别

如果设备不满足您指定的所有要求,则不会在应用安装时下载该模块。但是,您的应用稍后可能会请求使用 Play Core 库 按需下载模块。要了解更多信息,请阅读 配置条件交付

IntelliJ IDEA 2019.1

核心 Android Studio IDE 已通过 2019.1 版本 中的 IntelliJ IDEA 改进进行了更新,例如主题自定义。

与 Android Studio 捆绑提供的最后一个 IntelliJ 版本是 2018.3.4。有关此 Android Studio 版本中累积包含的其他 IntelliJ 版本改进的更多信息,请参阅以下错误修复更新

Android Gradle 插件 3.5.0 更新

有关 Android Gradle 插件 3.5.0 中新增功能的信息(例如改进的增量注释处理和可缓存单元测试支持),请参阅其 发行说明

社区贡献者

感谢所有帮助我们发现错误以及改进 Android Studio 3.5 的其他方法的社区贡献者。特别是,我们要感谢以下报告了 P0 和 P1 错误的人员