Android Studio Chipmunk | 2021.2.1 (2022 年 5 月)

以下是 Android Studio Chipmunk 中的新功能。

支持使用 Jetpack Compose 创建应用

动画预览支持 animatedVisibility

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

支持从库模块部署预览

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

支持对应用进行性能分析

检测 Android 12 及更高版本中的 Jank

对于使用 Android 12 或更高版本的设备,捕获的轨迹会显示在 CPU Profiler 的显示面板下方的掉帧轨道中。

要检测掉帧,

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

    如果系统提示您打开选择部署目标对话框,请选择用于性能分析的应用部署目标设备。如果您通过 USB 连接了设备但未在列表中看到该设备,请确保您已启用 USB 调试

  3. 点击 CPU 时间轴中的任意位置即可打开 CPU Profiler。

  4. 您应该会在显示下方看到掉帧轨道。默认情况下,Profiler 仅将掉帧显示为调查对象。在每个掉帧内,红色部分会突出显示帧超过渲染截止时间的持续时间。 掉帧轨道的屏幕截图

  5. 找到掉帧后,点击它;您也可以按 M 键调整缩放比例,以聚焦于所选帧。相关事件将以高亮形式显示在主线程中:RenderThreadGPU completionProfiler 显示掉帧和主线程的屏幕截图

  6. 您可以通过分别切换 All FramesLifecycle 复选框,选择性地查看所有帧或渲染时间的细分情况。 Profiler 屏幕截图,如上图所示,但勾选了 All Frames 和 Lifecycle 复选框

如需了解详情,请参阅界面掉帧检测

补丁发布

以下是 Android Studio Chipmunk 中的补丁发布。

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

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

Android 平台支持

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

已修复的问题
C++ 调试器
即使是调试 build variant,也会打包依赖项目中的原生库的发布版本
设计工具
Ctrl + D 或“show diff”按钮未显示 git diff
Dexer (D8)
记录每个 desugared 库版本所需的编译器版本
Gradle
Lint UnusedResources Import Alias 误报
导入/同步
新版本中存在多个 product flavor 的构建问题
代码压缩器 (R8)
IntSwitch 中出现 ArrayIndexOutOfBoundsException
R8 3.1.7-dev 及更高版本错误地优化了 Enums,导致 NoSuchFieldError
R8 导致 Scala 库出现 VerifyError
Gradle 7.2.0 导致 APK 构建错误 com.android.tools.r8.CompilationFailedException
代码压缩器中出现 NPE,R8 版本 3.2.60
[R8 3.3.57] 接口被 SDK 要求更高的抽象类替换,导致 NoClassDefFound
使用 3.3.35 时 FieldAssignmentTracker 中出现 NullPointerException

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

此次次要更新包含以下 bug 修复

已修复的问题
Dexer (D8)
版本 8 之前的 Art / Dalvik VM 不支持 JDK-8272564 的修复
IntelliJ
文件监视器未能在 Ubuntu 20.04 上启动
MBP 15" 2018 Touch Bar 菜单缺失。
运行
即使应用模块可用,Devices 选项也不可见且无法运行应用。
代码压缩器 (R8)
为什么 R8 不反向移植默认接口方法而 D8 会?
循环引用:com.android.tools.r8.internal.R10: 转换为原始类型时类型意外:OBJECT