自从三年前 Android Studio 更改了版本方案之后,从 Arctic Fox 开始每个主要版本都发布一个动物代号,同时版本迭代更新的节奏也越来越快,当然“填坑”的速度和“开坑”的速度几乎也“持平”,可以说每个版本都有痛点,都需要等 patch1 、patch2 等的 hotfix 更新。
而本次发布的“考拉”版本,实际内容很少,但是“变动很大”,更新简单总结就是:
- 增加 Gemini SDK API 模版
- 设备窗口中的支持并排布局,Running Devices 窗口现在可以同时显示多个设备。
- IntelliJ 2024.1
那么更新这个版本的意义是什么?变动在哪里?相信大家通过上面的图片也有所发现,所有 Studio 版本所使用的版本号都遵循着以下格式:
<IntelliJ 版本年份>.<IntelliJ 主版本>.<Studio 主版本>
在此之前我们都只看到 .1 结尾的版本,比如这次的 2024.1.1 ,其中初始的动物版本发布将带有 “.1” 的 Android Studio 主版本号,用于引入更新的 IntelliJ 平台版本号,而随后的功能更新将把 Android Studio 的主版本号提升到 “.2”,聚焦于引入更多特定于 Android 的功能。
所以本次更新主要是在以前的版本编号方案的基础上,通过 1、2 等版本来更快迭代和更新 Android Studio ,例如本次:
- 1 版本主要是跟进 IntelliJ 版本
- 2 版本将更新更多聚焦在 Android 的功能
例如接下来的 Android Studio Koala Feature Drop (2024.1.2),它就是这是基于 IntelliJ IDEA 2024.1 的第二个版本 .2 ,也是主要更新 Android 支持的版本,总结一下:
从 koala 开始,每一个动物代号都会涵盖两个主要的 Studio 版本发布:1 是平台更新,2 是功能更新。
Android Studio Koala Feature Drop
AI
其实 Koala Feature Drop 的功能在之前 I/O 更新内容上 上也有了一些介绍 , 例如现在可以在 Android Studio Koala 中使用 Gemini 提供自定义提示以生成代码建议,可以通过 View > Tool Windows > Gemini 启用后,右键通过 Gemini > Transform selected code 查看提示字段。
另外,Feature Drop 支持使用 Android Studio 中的 Gemini 分析崩溃报告 , Gemini 可以分析 App Quality Insights 里的崩溃报告、生成见解、提供崩溃摘要等,并在可能时推荐后续修复步骤,包括示例代码和相关文档的链接。
通过 View > Tool Windows > Gemini 启用 Gemini 后,通过 Android Studio 中 App Quality Insights工具窗口中的 Show Insights 来生成所有这些信息。
Android 远程流媒体设备支持
通过 Firebase , Android Device Streaming 功能可让开发者安全地连接到托管在 Google 安全数据中心的远程物理 Android 设备,包括 Google Pixel 8 和 8 Pro、Pixel Fold、部分三星设备等。
Android Device Streaming 目前处于测试阶段,在此期间可以免费使用 Spark 或 Blaze 方案中的 Firebase 项目设备流式传输。
在登录 Koala Feature Drop 使用 Device Streaming 传输时,Android Studio 会自动创建并设置一个免费的 Firebase 项目,包括限时提供的 Firebase Blaze 计划项目的促销配额。
USB 速度检测
Android Studio Koala Feature Drop 可以区分低性能 USB 和高性能 USB,并建议进行升级以最大限度地发挥设备功能,使用合适的 USB 数据线可优化应用安装时间,并在使用 Android Studio 调试器等工具时最大限度地减少延迟。
USB 速度检测仅适用于 macOS 和 Linux,并且需要升级到最新版本的 SDK Platform Tools,Windows 支持需要等待后续推出。
关于 USB 检测,Android Studio 提供的信息类似以下工具可获得的信息类似:
- Mac:
system_profiler SPUSBDataType
- Linux:
lsusb -vvv
更新 Google 服务的登录流程
现在,只需一个身份验证步骤即可更轻松地登录多项 Google 服务,就可以方便的在 Android Studio 中使用 Gemini、 Firebase Android Device Streaming 、 Google Play Android Vitals 等。
通过新的细粒度的权限范围,能够控制哪些服务可以访问开发者的帐户内容。
设备 UI 设置快捷方式
Android Studio 中的 Running Devices 工具窗口中引入了设备 UI 设置快捷方式,使用这些快捷方式可以查看常见 UI 设置(例如深色主题、字体大小、屏幕大小、语言和 TalkBack)的效果等,开发者可以将这些快捷方式用于模拟器、镜像物理设备和流式传输的设备。
注意,只有设备上已安装 TalkBack 和 Select to Speak 对应的辅助功能设置才会显示,如果没有看到这些选项,可以从 Play 商店下载 Android Accessibility Suite 应用。
目前设备 Device UI setting shortcuts 需要 API 级别 33 或更高级别的设备。
Profiler 优化
本次提高了 Android Studio Profiler 的性能,使得常见的分析任务(例如使用可分析应用捕获系统跟踪)的启动速度提高了 60%。
Profiler 以任务为中心的重新进行了设计,从而支持分析应用的 CPU、内存还是电量使用情况。例如,开发者可以在打开 Profiler 后立即从 UI 启动系统跟踪任务来分析和改善应用的启动时间。
Wear OS 预览面板
通过使用 Jetpack Tiles 库 1.4 (目前为 alpha 版本)的多个依赖项,就可以在 Android Studio 查看 Wear OS 应用的 Tiles 快照:
build.gradle
中包括以下依赖项:
dependencies {implementation("androidx.wear.tiles:tiles-tooling-preview:1.4.0-alpha02")debugImplementation("androidx.wear.tiles:tiles-tooling:1.4.0-alpha02")implementation("androidx.wear:wear-tooling-preview:1.0.0")
}
添加注释 @Preview
并传入 device
参数:
import androidx.wear.tiles.tooling.preview.Preview@Preview(device = WearDevices.SMALL_ROUND)
fun smallPreview(context: Context) = TilePreviewData(onTileRequest = { request ->TilePreviewHelper.singleTimelineEntryTileBuilder(buildMyTileLayout()).build()}
)
模拟传感器功能和值
Android Studio 现在包含一个新的传感器面板,可以模拟具有或不具有特定传感器功能(例如心率传感器)的设备,以及为这些传感器设置特定的测试值。
在模拟器面板中,选择 Wear Health Services ,显示不同 Android 设备上可用的传感器列表。
Glance 预览
Glance 预览,Android Studio Koala Feature Drop 可以直接在 IDE 中预览 Jetpack Compose Glance (1.1.0-rc01)
Compose 实时编辑
默认启用 Compose 实时编辑,Android Studio Koala 下实时编辑默认在手动模式下启用,并提高了稳定性和更强大的更改检测,包括对导入语句的支持。
Compose 预览屏幕截图
Compose 预览屏幕截图测试插件,Compose 预览屏幕截图测试插件的第一个 alpha 版本作为单独的插件提供,可与 AGP 8.5.0-beta01 或更高版本一起使用
Kotlin 支持 Android Gradle 插件中的测试
从 Android Gradle 插件 8.5.0-beta01 开始,可以在 testFixtures
源代码中使用 Kotlin,以前,testFixtures
源码只支持 Java:
- Kotlin 版本 1.9.20 或更高版本
- 添加
android.experimental.enableTestFixturesKotlinSupport=true
到gradle.properties
文件 - 在模块
build.gradle.kts
或build.gradle
文件中添加对 Kotlin 依赖:
dependencies {testFixturesImplementation("org.jetbrains.kotlin:kotlin-stdlib:1.9.20")
}
已知限制:尚不支持 KAPT 或 KSP
最后
可以看到, Android Studio 现在从 Koala 开始,每个动物版本都会有两个版本更新, 1 版本更新容器,2 版本更新功能,这样 Android Studio 的更新和修复进度将进一步提高,对于问题的修复和发布也可以更好分类。
总的来说,一切都是为了大家更好的吃螃蟹。