Android Studio 3.5(2019 年 8 月)

Android Studio 3.5 是一个主要版本,同时也是 Project Marble 计划的成果。从 Android Studio 3.3 版本开始,Project Marble 计划涵盖了多个版本,着力改进 Android Studio 的三个主要方面:系统运行状况功能完善以及 bug 修复。

如需详细了解这些更新以及其他 Project Marble 更新,请参阅 Android 开发者博文或以下几个部分。

另外,我们还要感谢所有为此版本提供过帮助的社区贡献者

3.5.3(2019 年 12 月)

此次要更新修正了多个 bug 并进行了多项性能改进。

3.5.2(2019 年 11 月)

此次要更新修正了多个 bug 并进行了多项性能改进。如需查看重要 bug 修复列表,请参阅版本更新博客上的相关博文。

3.5.1(2019 年 10 月)

此次要更新修正了多个 bug 并进行了多项性能改进。如需查看重要 bug 修复列表,请参阅版本更新博客上的相关博文。

Project Marble:系统运行状况

本部分将介绍 Android Studio 3.5 中旨在改善系统运行状况的更改。

推荐内存设置

现在,如果 Android Studio 检测到您可以通过增加操作系统应该为 Android Studio 进程(例如核心 IDE、Gradle 守护程序和 Kotlin 守护程序)分配的 RAM 上限来提高性能,它会通知您。您可以通过点击通知中的操作链接来接受推荐设置,也可以通过以下方式手动调整这些设置:依次选择 File > Settings(或者,在 macOS 上依次选择 Android Studio > Preferences),然后在 Appearance & Behavior > System Settings 下找到 Memory Settings 部分。如需了解详情,请参阅最大堆大小

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

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

内存使用情况报告

Android Studio 中的内存问题有时难以重现和报告。为了解决此问题,您可以在 Android Studio 中从菜单栏依次点击 Help > Analyze Memory Usage,生成内存使用情况报告。执行此操作后,Android Studio 会在本地清理掉数据中的个人信息,然后询问您是否希望将数据发送给 Android Studio 团队以帮助识别内存问题的来源。如需了解详情,请参阅运行内存使用情况报告

内存使用情况报告。

内存使用情况报告。

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

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

Project Marble:功能完善

本部分将介绍 Android Studio 3.5 中旨在改进现有功能的更改。

Apply Changes

借助 Apply Changes,您可以将代码和资源更改推送给正在运行的应用,而无需重启应用(在某些情况下,甚至无需重启当前的 activity)。Apply Changes 实现了一种全新的方法来保持应用的状态。与重写 APK 字节码的 Instant Run 不同,Apply Changes 会利用 Android 8.0(API 级别 26)或更高版本中支持的运行时插桩,实时地重新定义类。

如需了解详情,请参阅 Apply Changes

Apply Changes 的工具栏按钮。

Apply Changes 的工具栏按钮。

应用部署流程

Android Studio 有一个新的下拉菜单,可让您快速选择要将应用部署到哪个设备。此菜单还包含一个新选项,可让您一次在多个设备上运行您的应用。

目标设备下拉菜单。

目标设备下拉菜单。

改进了 Gradle 同步和缓存检测功能

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

改进了构建错误输出

Build Build 窗口图标 窗口现在针对以下构建流程改进了错误报告,例如提供指向文件的链接以及所报告错误对应的行号:

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

项目升级

改善了更新体验,提供了更多信息和操作来帮助您更新 Android Studio 和 Android Gradle 插件。例如,有更多的同步和构建错误会包含帮助您在更新时减少错误的操作。

请务必注意,您可以独立于 Android Gradle 插件等其他组件更新 Android Studio。因此,您可以在新版本推出后安全地更新 Android Studio,并在以后更新其他组件。

布局编辑器

Android Studio 3.5 对布局可视化、管理和互动功能进行了多项改进。

使用 ConstraintLayout 时,Attributes 面板中新的 Constraints 部分会列出所选界面组件的约束关系。您可以从设计图面或约束列表中选择一个约束条件,突出显示这两个区域中的约束条件。

所选界面元素的约束关系。

所选界面元素的约束关系。

同样,您现在可以选择某个约束条件并按 Delete 键,删除相应约束条件。您还可以按住 Control 键(在 macOS 上,按住 Command)并点击约束条件定位点来删除相应约束条件。请注意,当您按住 ControlCommand 键并将鼠标悬停在定位点上时,任何关联的约束条件都会变成红色,表示您可以点击以将其删除。

选择视图后,您可以点击 Attributes 面板的 Constraint Widget 部分的任何一个 + 图标来创建约束条件,如下图所示。当您创建新的约束条件时,布局编辑器现在会选择并突出显示该约束条件,为您刚刚添加的约束条件提供即时视觉反馈。

此动画演示了如何使用约束条件 widget 创建约束条件。

使用约束条件 widget 创建约束条件。

在创建约束条件时,布局编辑器现在只会显示您可以约束的符合条件的定位点。以前,布局编辑器会突出显示所有视图上的所有定位点,无论您是否可以约束它们。此外,蓝色叠加层现在会突出显示约束条件的目标。这种突出显示在尝试约束与另一个组件重叠的组件时特别有用。

此动画演示了如何在 Android Studio 3.4 中为重叠组件创建约束条件。

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

此动画演示了如何在 Android Studio 3.5 中为重叠组件创建约束条件。

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

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

  • 现在,您可以使用约束条件 widget 和默认外边距下拉菜单将尺寸资源用于外边距。
  • 在布局编辑器工具栏中,确定设计图面大小的设备列表已经更新。此外,调整大小时的贴靠行为已得到改进,设计图面上的调整大小手柄现在始终可见。调整大小时,系统会显示可显示常见设备尺寸的新叠加层。
  • Layout Editor 采用了新的配色方案,可改进组件、文本和约束条件之间的一致性并降低它们之间的对比度。
  • 蓝图模式现在包含对某些文本未显示的组件的文本支持。

如需详细了解这些更改,请参阅 Android Studio Project Marble:布局编辑器

数据绑定

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

此动画演示了 Android Studio 3.4 上的代码编辑器性能。

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

此动画演示了 Android Studio 3.5 上的代码编辑器性能。

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

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

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

针对单个变体同步的“Build Variants”面板改进

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

如需了解详情,请参阅更改 build 变体

Build Variants 面板按 ABI 显示单个变体选择。

Build Variants 面板,按 ABI 进行单个变体选择。

NDK 并排版本

现在,您可以并排使用 NDK 的多个版本。此功能可让您更灵活地配置项目,例如,如果项目在同一计算机上使用了不同版本的 NDK。

如果您的项目使用 Android Gradle 插件 3.5.0 或更高版本,您还可以指定项目中每个模块应使用的 NDK 版本。您可以使用此功能来创建可重现的 build,并减少 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 版本的改进,请参阅以下 bug 修复更新:

Android Gradle 插件 3.5.0 更新

如需了解 Android Gradle 插件 3.5.0 中的新变化,例如针对增量注解处理和可缓存单元测试的改进支持,请参阅其版本说明

社区贡献者

感谢所有帮助我们发现 bug 及通过其他方式改进 Android Studio 3.5 的社区贡献者。特别要感谢以下报告 P0 和 P1 bug 的人士: