Android 17 季度更新加了新 API,源码没有一起来

Android 17 的第一个季度平台更新 QPR1 从 2026 年 9 月 15 日起推给 Pixel 设备,带来了新的框架 API,却没有伴随一次 AOSP 源码发布。官方差异报告显示,API 37 到 37.1 新增 1 个包、改动 16 个包,合计新增 84 项、变更 233 项,总体差异约 0.52%。这个幅度对多数应用影响有限。值得关注的是新增能力落在谁手上。唯一新增的那个包是 android.hardware.hid,用来枚举 USB 与蓝牙 HID 设备,在 QPR2 落地之前只能覆盖 Pixel。做外设管理、游戏手柄适配、按键重映射的团队,现在就要排期。

加了新 API 却不给源码,开放的边界变了什么

AOSP 从 2026 年起只在 Q2 与 Q4 推送源码。官方把这个安排同 trunk stable 开发模型、平台稳定性放在一起说明。Android 17 正式版落在 6 月 16 日,构建号表里有 android-17.0.0_r1。QPR1 落在 9 月,窗口之外,表里没有对应 tag。

同一批官方文件还有一处能自己核对的矛盾。QPR1 的发布说明页写着,季度更新同时交付给 AOSP 与 Pixel 设备。构建号表里查不到。

框架 API 层出现落差,过往的争论覆盖不到这里。GMS 与 Play 服务长期是 AOSP 之外的分发层,许可协议写明不得逆向、不得再分发。这次的新增直接是平台包。有帖子把这次称作 Honeycomb 以来第一次加 API 却不给源码,这是发帖人的推论,官方没有对应表述。

被独占的到底是哪些 API

唯一新增的包是 android.hardware.hid,含三个类与两个接口。HidManager 能枚举已连接的 HID 设备,查厂商产品 ID 与 report descriptor,键盘、鼠标、游戏手柄都算。访问要 ACCESS_HID 权限,通常经系统选择器或权限弹窗按设备授权。后台或缓存状态可能被限制。getDevices() 必须放工作线程,主线程调用抛 IllegalStateException,无权限抛 SecurityException。

第二组在 InputManager,多了 7 个外设定制化方法,包括增删改查外设按键映射、判定某个键能否被重映射。配套引入抽象类 CustomizationTrigger 与两个子类。

还有两项容易漏掉。Build.VERSION_CODES_FULL 新增常量 CINNAMON_BUN_1,应用可以据此在运行时识别 37.1。java.util.jar 的四个类出现大规模字段归属调整,JarEntry 的 40 个 ZIP 常量由本地定义改为继承自 java.util.zip.ZipEntry。233 项变更的主要部分在这里,是重排,不带来新能力。

一年只开两次门,季度更新该放哪里

targetSdk 基线定在 API 37,37.1 的独有能力不要写成硬依赖。要用就按两层写,先用 CINNAMON_BUN_1 判定版本,再用 canEnumerateDevices()、isKeyAllowedForCustomization() 运行时探测,不可用走降级路径,等 QPR2 落地再放开。

这批接口不是草稿。QPR1 共 9 个 beta,官方说明 Beta 6 达到平台稳定性,API 表面锁定,差异报告反映最终变更。

验证设备别靠猜。QPR1 的通用系统镜像为构建 CP3A.260905.010,官方写明由与对应 Pixel 构建相同的源码构建,验证机型 Pixel 6 到 Pixel 10a。设备显示 Android 17 不代表带着 37.1,要确认它真收到了 QPR1 更新与对应安全补丁级别。

补丁也分先来后到

标准季度公告的流程没有变。2026 年 9 月的 Android 安全公告 9 月 8 日发布、9 月 16 日更新,源码补丁已推送到 AOSP,9 月 5 日及更高级别可修复全部问题。官方流程是公告后 24 到 48 小时内合并进 AOSP。

Pixel 的 9 月公告另有一节,列着季度公告之外的额外漏洞补丁。多数落在 Pixel 专有组件上,Bootloader、可信执行环境、Modem、指纹 TA 都在内。其中 CVE-2026-58704 是 Modem 提权,定级高危。同页问答写明,声明最新安全补丁级别的必要条件是漏洞进了安全公告,本公告的额外补丁不算。

这条区分有采购后果。设备的安全补丁级别数字反映不了 Pixel 公告里那些补丁是否到位。验收与维护 SLA 要把「所需修复是否进入公开 Android 安全公告」写进去。对共用平台组件的高危漏洞,要厂商给出 CVE、落地版本、时间表三件。另有帖子称部分补丁涉及非 Pixel 设备也在用的标准平台组件,这是发帖方的判断,未见逐条核验。

ROM 开发者要多做多少事

工作基线用 android-latest-release 清单,当前指向 android17-release。不要给 QPR1 单开分支等官方 tag,它不会以独立 release 分支出现。QPR1 的框架改动要当成 cherry-pick 的补丁集回移。Pixel 固件、内核驱动、用户态驱动与 HAL 的缺位要单列为风险项。Android 16 QPR1 有过类似处境,2025 年 9 月推送,约两个月后源码才进 AOSP,同期 device tree 与驱动二进制也不再发布。这段成本主要在驱动,不在框架。

遇到 GPL 组件源码延迟,按官方申请表单提交并留存记录。有一份自述时间线,9 月 1 日申请某构建号源码,9 月 16 日才拿访问,间隔约 15 天。官方时限口径是收到产品三年内,GPLv3 组件给到备件或客户支持结束。

按处境给三条建议。

  • 只做 Pixel 的团队,直接用 37.1 的新接口,仍要注意 getDevices() 放工作线程。
  • 面向多设备的团队,QPR2 落地前把 HID 枚举与外设键位重映射做成可选特性。
  • ROM 项目,回移成本主要花在驱动与 HAL,框架 diff 很小,别照框架规模估工期。