Android Studio Chipmunk | 2021.2.1

Android Studio 是开发 Android 应用的官方 IDE,包含构建 Android 应用所需的所有功能。

本页列出了稳定渠道中的最新版本 Android Studio Chipmunk 的多项新功能和改进。您可在此处下载最新版本,也可在 Android Studio 中依次点击 Help > Check for updates(在 macOS 上则为 Android Studio > Check for updates)更新到最新版本

如需查看旧版 Android Studio 的版本说明,请参阅过往版本

如需抢先体验即将发布的功能和改进,请参阅 Android Studio 预览版 build

如果您在 Android Studio 中遇到问题,请查看已知问题问题排查页面。

支持使用 Jetpack Compose 创建应用

动画预览支持 animatedVisibility

Android Studio Chipmunk 支持在动画预览中使用 animatedVisibility API。如需将动画预览与 animatedVisibility 搭配使用,请使用 Compose 版本 1.1.0 或更高版本。如需详细了解动画预览,请参阅动画

支持从“库模块”部署预览对象

通过使用预览功能,您无需在实体设备上运行应用,即可在 Android Studio 中查看应用界面。在 Android Studio Chipmunk 中,您可以将特定 @Preview 从“库模块”部署到模拟器或实体设备。如需了解详情,请参阅部署预览对象

支持对应用进行性能分析

在 Android 12 及更高版本上检测卡顿

对于使用 Android 12 或更高版本的设备,已捕获的跟踪记录会显示在 CPU 性能分析器中 Display 窗格下的 Janky frames 轨道中。

如需检测卡顿,请按以下步骤操作:

  1. 从开发模拟器或设备启动应用。
  2. 在 Android Studio 中,依次选择 View > Tool Windows > Profiler,或点击工具栏中的 Profile 图标

    如果 Select Deployment Target 对话框显示提示,请选择要将您的应用部署到哪个设备以进行性能分析。如果您已通过 USB 连接设备但系统未列出该设备,请确保您已启用 USB 调试

  3. 点击 CPU 时间轴上的任意位置以打开 CPU 性能分析器。

  4. 您应该会在 Display 下方看到 Janky frames 轨道。默认情况下,性能分析器只会将卡顿帧显示为有待调查的候选对象。在每个卡顿帧中,红色部分突出显示了相应帧超出其渲染截止时间的时长。 卡顿帧轨道的屏幕截图

  5. 发现卡顿帧后,点击该帧;可根据需要按 M 键调整缩放程度以聚焦到所选帧。相关事件将在以下主线程中突出显示:RenderThreadGPU completion性能分析器的屏幕截图,显示了卡顿帧和主线程

  6. 通过选中或取消选中 All FramesLifecycle 复选框,您可以根据需要查看所有帧或渲染时间的细分数据。 显示上述内容的性能分析器屏幕截图,但“All Frames”和“Lifecycle”复选框为已选中状态

如需了解详情,请参阅界面卡顿检测

Android Gradle 插件和 Android Studio 兼容性

Android Studio 构建系统以 Gradle 为基础,并且 Android Gradle 插件添加了几项专用于构建 Android 应用的功能。下表列出了各个 Android Studio 版本所需的 Android Gradle 插件版本。

Android Studio 版本 所需插件版本
Arctic Fox | 2020.3.1 3.1-7.0
Bumblebee | 2021.1.1 3.2-7.1
Chipmunk | 2021.2.1 3.2-7.2

如需了解 Android Gradle 插件的新变化,请参阅 Android Gradle 插件版本说明

补丁版本

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

Android Studio Chipmunk | 2021.2.1 补丁 2(2022 年 8 月)

本次要更新包含以下更新和 bug 修复:

Android 平台支持

借助 Android Studio Chipmunk 补丁 2 和 Android Gradle 7.2.2,您可以通过设置 compileSdk=33 针对 Android 13 API 进行编译。支持的最低 SDK 版本最高可为 32。在 Android Gradle 插件 7.3.0-beta05 之前,不支持 minSdk = 33

已修复的问题
C++ 调试程序
系统甚至会为调试 build 变体打包依赖项目中原生库的发布版本
设计工具
按下 Ctrl+D 键或“show diff”按钮不显示 git diff
Dexer (D8)
记录每个脱糖库版本所需的编译器版本
Gradle
使用 Import Alias 时 lint UnusedResources 出现假正例
导入/同步
在新版本中,当存在多个产品变种 (flavour) 时发生 build 问题
缩减器 (R8)
IntSwitch 中的 ArrayIndexOutOfBoundsException
R8 3.1.7-dev 及更高版本对枚举进行不当优化,导致出现 NoSuchFieldError
R8 导致在 Scala 库上出现 VerifyError
Gradle 7.2.0 导致 APK build 错误 com.android.tools.r8.CompilationFailedException
缩减器 R8 版本 3.2.60 中的 NPE
[R8 3.3.57] 出现 NoClassDefFound 错误,因为接口已替换为具有更高 SDK 要求的抽象类
使用 3.3.35 时 FieldAssignmentTracker 中出现 NullPointerException

Android Studio Chipmunk | 2021.2.1 补丁 1(2022 年 5 月)

本次要更新包含以下 bug 修复:

已修复的问题
Dexer (D8)
版本 8 之前的 Art/Dalvik 虚拟机不支持 JDK-8272564 的修复
IntelliJ
文件观察器在 Ubuntu 20.04 上未能启动
缺少 MBP 15" 2018 触控栏菜单。
运行
即使应用模块可用,“Devices”选项也不显示且无法运行该应用。
缩减器 (R8)
为什么 R8 不向后移植默认接口方法,但 D8 会这么做?
循环引用:com.android.tools.r8.internal.R10:转换为原始类型时出现非预期类型:OBJECT