谷歌开发者

立即体验 | Android 16 QPR2 Beta 2 开放测试

Image

作者 / 产品管理副总裁、Android 开发者 Matthew McCullough

Android 16 QPR2 最新发布的 Beta 2 版本现已达成平台稳定性!这意味着 API 接口已锁定,面向应用的行为也已最终确定,因此您可以将其整合到自己的应用中,并利用我们最新的平台创新功能。

Android 16 QPR2 Beta 2

中的新功能

Image

在开发周期的后期阶段,我们主要侧重于为发布做好平台准备。以下是我们想要重点介绍的几项重要更新:

测试开发者验证

为了更好地保护 Android 用户免受屡次违规者的侵害,Android 引入了开发者验证。这是一项全新要求,通过防止恶意软件和欺诈行为的传播,使应用安装更加安全。从 2026 年 9 月开始,在特定地区,Android 将要求应用由经过验证的开发者注册,才可以安装在经过认证的 Android 设备上,通过 Android 调试桥 (ADB) 安装的应用除外。

  • 开发者验证
    https://developer.android.com/developer-verification

作为开发者,您可以使用 ADB 自由安装应用,无需进行验证,因此您可以继续测试不打算或尚未准备好分发给更广泛的消费群体的应用。

对于允许用户启动应用软件包安装的应用,Android 16 QPR2 Beta 2 包含支持安装期间进行开发者验证的新 API。此外还新增了一条 ADB 命令,以便您为测试目的强制指定验证结果。

adb shell pm set-developer-verification-result
  • 允许用户启动应用软件包安装
    https://support.google.com/googleplay/android-developer/answer/12085295
  • API

    https://developer.android.com/reference/android/content/pm/PackageInstaller#EXTRA_DEVELOPER_VERIFICATION_FAILURE_REASON

通过使用此命令 (详细信息请参阅 adb shell pm help),您现在可以模拟验证失败的情况。这能帮助您了解验证成功和失败的端到端用户体验,以便您在强制执行验证之前做好充分的准备。

我们鼓励所有在已获认证的 Android 设备上分发应用的开发者报名参加抢先体验,以便做好准备并及时了解最新动态。

  • 报名参加抢先体验
    https://developer.android.com/developer-verification#sign-up-for-early-access

短信 OTP 保护

对于大多数应用,包含 SMS Retriever 哈希的消息传递将延迟三个小时,以帮助防止 OTP 劫持。系统将暂停 RECEIVE_SMS 广播,并过滤短信提供商数据库查询。延迟三小时后,这些应用即可接收到短信。

  • SMS Retriever 哈希
    https://developers.google.com/identity/sms-retriever/verify
  • RECEIVE_SMS

    https://developer.android.com/reference/android/Manifest.permission#RECEIVE_SMS

  • 短信提供商

    https://developer.android.com/reference/android/provider/Telephony.Sms.html

某些应用 (如默认短信、助理和拨号应用) 以及连接设备的伴侣应用、系统应用等将不受此延迟的影响,并且应用可以继续使用 SMS Retriever API 来及时访问发送给它们的消息。

  • SMS Retriever API

    https://developers.google.com/identity/sms-retriever/overview

自定义应用图标形状

Image
Image

Android 16 QPR2 允许用户从适用于所有应用图标和文件夹预览的图标形状列表中进行选择。请检查以确保您的自适应图标适用于用户选择的任何形状。

更高效的垃圾回收

Android 运行时 (ART) 会在 Android 16 QPR2 中集成一个分代并发标记-压缩 (CMC) 垃圾回收器,它会将回收工作的重心放在新分配的对象上,因为这些对象更有可能是垃圾。您可以期待垃圾回收带来的 CPU 使用率降低,卡顿减少带来更顺畅的用户体验,以及电池效率的提升。

Health Connect 中的

原生步数追踪和扩展运动数据

Health Connect 现在可以使用设备的传感器自动追踪步数。如果您的应用具有 READ_STEPS 权限,则可以从 "android" 软件包中获得此数据。这不仅简化了步数追踪所需的代码,还提高了能效。

此外,ExerciseSegment 和 ExerciseSession 数据类型已更新。您现在针对特定的运动环节记录和读取训练重量、组数索引和感知用力等级 (RPE)。Health Connect 的更新独立于平台,因此在写入数据之前请检查功能可用性,确保与当前本地版本的 Health Connect 兼容。

// Check if the expanded exercise features are availableval newFieldsAvailable = healthConnectClient.features.getFeatureStatus(    HealthConnectFeatures.FEATURE_EXPANDED_EXERCISE_RECORD) == HealthConnectFeatures.FEATURE_STATUS_AVAILABLEval segment = ExerciseSegment(    //...    // Conditionally add the new data fields    weight = if (newFieldsAvailable) Mass.fromKilograms(50.0) else null,    setIndex = if (newFieldsAvailable) 1 else null,    rateOfPerceivedExertion = if (newFieldsAvailable) 7.0f else null)

次要 SDK 版本

QPR2 是首个采用次要 SDK 版本的 Android 版本,使我们能够突破年度单次更新的限制,通过新平台 API 实现更快速的创新。与 2025 年第二季度包含应用兼容性行为变更的主要平台版本 (Android 16) 不同,本次发布的变更以增量为主,旨在最大限度减少额外应用测试的需求。

Image

您的应用可通过使用 SDK_INT_FULL 和 VERSION_CODES_FULL 枚举中的对应值,安全地调用这些已在设备上可用的新 API。

if (Build.VERSION.SDK_INT_FULL >= Build.VERSION_CODES_FULL.BAKLAVA_1) {    // Call new APIs from the Android 16 QPR2 release}
  • SDK_INT_FULL
    https://developer.android.com/reference/android/os/Build.VERSION#SDK_INT_FULL
  • VERSION_CODES_FULL

    https://developer.android.com/reference/android/os/Build.VERSION_CODES_FULL

您还可使用 Build.getMinorSdkVersion() 方法获取次要 SDK 版本号。

val minorSdkVersion = Build.getMinorSdkVersion(VERSION_CODES_FULL.BAKLAVA)
  • Build.getMinorSdkVersion()
    https://developer.android.com/reference/android/os/Build#getMinorSdkVersion%28int%29

对于非次要版本中声明的 API,原始 VERSION_CODES 枚举仍可用于与 SDK_INT 枚举进行比对。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.BAKLAVA) {    // Call new APIs from the Android 16 release}
  • VERSION_CODES
    https://developer.android.com/reference/android/os/Build.VERSION_CODES
  • SDK_INT

    https://developer.android.com/reference/android/os/Build.VERSION#SDK_INT

由于次要版本不包含重大行为变更,因此不能用于 uses-sdk 清单属性。

  • uses-sdk 清单属性
    https://developer.android.com/guide/topics/manifest/uses-sdk-element

Android 16 QPR2 Beta 版

入门指南

您可以注册任何受支持的 Pixel 设备,以通过 OTA 方式获取此版本和未来更多版本的 Android Beta 更新。如果您没有 Pixel 设备,可以在 Android Studio 中使用 64 位的 Android 模拟器系统映像。如果您已加入 Android Beta 版计划,我们将为您提供 Beta 2 版的 OTA 更新。我们将在整个 Android 16 QPR2 发布周期内定期更新系统映像和 SDK。

  • 注册任何受支持的 Pixel 设备
    https://www.google.com/android/beta
  • 使用 64 位的 Android 模拟器系统映像

    https://developer.android.com/about/versions/16/qpr2/get#on_emulator

  • 系统映像

    https://developer.android.com/about/versions/16/qpr2/download

若您当前处于 Canary 版计划且希望转入 Beta 版计划,需清除设备数据并手动刷入 Beta 版本。

为获得 Android 16 QPR2 的最佳开发体验,我们建议您使用最新 Canary 版的 Android Studio Narwhal Feature Drop:

https://developer.android.com/studio/preview

我们期待您的反馈,欢迎您在反馈页面上报告问题、提交功能请求。越早收到您的反馈,最终版本就能融入越多改进。感谢您助力塑造 Android 平台的未来。

  • 反馈页面
    https://developer.android.com/about/versions/16/qpr2/feedback

Image

Image

Image