2026 年 9 月 15 日,Android 17 QPR1 随 9 月 Pixel Feature Drop 推送到 Pixel 设备。这个季度更新带来了一批新的开发者 API,SDK 版本号从 37 升到 37.1。按 Android 项目十五年的惯例,这些 API 的源代码会在同一天出现在 AOSP(Android Open Source Project,安卓开源项目)的仓库里。这一次没有。9 月 16 日,隐私系统项目 GrapheneOS 发帖指出:Android 17 QPR1 是自 2011 年 Android 3.x Honeycomb 以来,第一个为应用开发者新增 API 却不发布到 AOSP 的版本。这批 API 目前只存在于 Pixel 出厂系统里,其他安卓厂商和基于 AOSP 的项目都拿不到。

API 差异报告里能查到的变化
GrapheneOS 的说法可以直接在 Google 自己的文档里验证。developer.android.com 上挂着一份 JDiff 报告,标题是「API Differences between 37 and 37.1」,逐项列出了这次新增和变更的接口。这是我统计到的构成:
- 新增 1 个包:
android.hardware.hid,包含 5 个类(HidManager、HidDevice、HidDeviceListener、HidEventListener、Report) - 新增权限:
ACCESS_HID、MANAGE_PERIPHERAL_CUSTOMIZATION、WRITE_DEVICE_UDI - 新增常量 42 个,其中包括
OsConstants里成批出现的 21 个MADV_*内存建议常量 - 变更覆盖 16 个包:
android.hardware.input、android.widget.photopicker、android.media、android.net.http、android.provider等 - 零移除:没有任何 API 在这个版本被删掉
四个功能方向值得单独说。
第一个是 HID 外设直连。在此之前,安卓应用要和 USB 或蓝牙键盘、鼠标、手柄交换原始数据,得走系统输入管线,拿不到设备的 HID report(人机接口设备层级的原始数据报文)。新的 android.hardware.hid 包让应用可以通过 HidManager 枚举设备、打开连接、收发 report。权限模型没有沿用普通的运行时权限,ACCESS_HID 标记为 internal|appop,通过系统对话框按设备授予,后台应用会被限制访问。
第二个是外设按键定制。InputManager 新增了一组方法,允许应用按 vendorId 和 productId 给手柄按键、鼠标侧键、键盘功能键注册自定义动作,动作可以是预置系统操作、打开 URI,或者向指定组件发送 Intent。手柄厂商和应用第一次可以在系统层把「按住 LT 键截屏」这类映射做成可编程配置。
第三和第四个是嵌入式 Photo Picker 的参数补齐,以及媒体、文件、网络层的增量:MediaStore 支持查询已删除媒体,DocumentsProvider 支持子目录搜索,android.net.http 加入了请求耗时指标。
功能本身是常规的季度更新内容。反常的地方在发布方式:这批 API 随 QPR1 装进了 Pixel,而 AOSP 的仓库里没有对应代码。
发布节奏在 Android 16 时改过一次
这件事的机制要从 Android 16 的一次结构调整说起。在那之前,AOSP 的发布节奏和 Pixel 系统更新是绑定的:每个季度平台版本(QPR,Quarterly Platform Release)推出时,代码都会同步进 AOSP。Android 16 开始,Google 把 QPR 分成了两类:QPR2 和 QPR4 的代码会发布到 AOSP,QPR1 和 QPR3 只推送 Pixel 设备,代码不再进公共仓库。
GrapheneOS 在回帖里解释了这个结构带来的后果:QPR1 和 QPR3 从 Android 16 起就是 Pixel 独占发布,而 Android 17 QPR1 恰好是第一个往 QPR1 里塞新 API 的版本。两件事叠加,才出现「版本带新 API、AOSP 没代码」的情况。这些 API 要等到 2026 年 12 月的 QPR2 发布,才会随 QPR2 进入 AOSP,到时候其他厂商和自定义系统才能看到完整源代码。
历史上唯一一次类似情况是 2011 年的 Honeycomb。Google 当时把平板版安卓 3.x 做成了闭源快照,理由是时间太紧、代码不适合仓促公开,之后在 4.0 Ice Cream Sandwich 里统一开源补上了。那之后十四年,每一个带新 API 的安卓版本都同步发布了 AOSP 代码,直到这次。
比 API 晚三个月的安全补丁
API 缺席之外,GrapheneOS 指出了更实际的问题:安全补丁的时差。
2026 年 9 月的 Pixel Update Bulletin(Pixel 设备专用安全公告)里,有一部分补丁针对的并非 Pixel 专属组件,而是所有安卓设备共用的标准平台代码。这些补丁既没有出现在同月的 Android Security Bulletin 里,也没有进入给其他厂商的安全预览通道。按照发布计划,其他 OEM 要等到 12 月 QPR2 才能拿到它们。
GrapheneOS 的原话是:「Google 不应该把标准 Android 平台代码的安全补丁对安卓厂商设卡,但这正是他们开始做的事。」这个项目选择了逆向工程二进制补丁来提前发布修复,他们在帖子里确认这条路可行,同时反问:在逆向工程工具足够普遍的现在,把补丁藏三个月的实际意义是什么。
时间线上还有两个细节。一是 GrapheneOS 声称他们早在 9 月 15 日 QPR1 正式发布之前就完成了向 Android 17 QPR1 的代码移植,但没有权限公开,只能把 Pixel 固件、内核驱动和 HAL 从 QPR1 反向移植回 Android 17。二是 GPL 源码请求的延迟:GrapheneOS 在 9 月 1 日请求了 build CD1A.260905.001.A1 的源码,等到 9 月 16 日前后才拿到访问权限。
反垄断层面的质疑同样来自 GrapheneOS 自己:给 Pixel 数个月的新功能和修复早期访问权,等于让 Google 的硬件相对自家 OEM 合作伙伴拿到竞争差异,他们建议欧盟委员会关注这件事。截至发稿,这场讨论里还没有 Google 的正式回应,判断仍属于 GrapheneOS 单方面的公开陈述。
写应用的人现在要注意什么
对应用开发者,37.1 的 API 是真实存在且可以编译的,但运行时分流必须做,因为同一批「Android 17」设备的 API 级别并不相同。判断方式是用 SDK_INT_FULL 配合 VERSION_CODES_FULL.CINNAMON_BUN_1,不能用旧的 SDK_INT,后者在 Android 17 上都返回 37,区分不出 37.0 和 37.1。9 月的 Pixel 设备报 37.1,其他厂商的 Android 17 设备报 37.0,直到各自升级到 QPR2。
HID 相关代码的上手成本也变高了。ACCESS_HID 的授权通道(系统选择器如何把权限发给应用)还没有完整的公开文档,知乎上一篇追踪 QPR1 预览版的专栏给出的建议是先不要把这个权限写进 manifest,用 canEnumerateDevices() 做能力探测。
对设备厂商和自定义系统维护者,账是另一种算法。定制 ROM 现在要维护一条逆向补丁的流水线,或者接受三个月的补丁延迟。GrapheneOS 与摩托罗拉的新合作关系被他们自己描述为解法的一部分:官方提供固件和驱动代码之后,支持新设备的难度会明显低于 Pixel。
开源镜像滞后一个季度意味着什么
AOSP 在安卓体系里的实际角色,过去十年一直在变化。GMS(Google Mobile Services)授权体系早已把应用生态的控制点从 AOSP 代码移到了 Play 服务:一部没有 AOSP 最新代码但带着 GMS 的手机,照样能运行完整生态的应用。这次的变化是节奏本身:新 API 最先出现在闭源的 Pixel 系统里,开源世界看到的是滞后一个季度的镜像。
Hacker News 上这条新闻拿到了 644 分和三百多条评论,讨论大量集中在「安卓还算不算开源系统」这个老问题上。值得分开看的是:Android 17 主体代码、QPR2/QPR4 的代码、以及 12 月之后的 37.1 完整源码,仍然按 GPL 和既有惯例发布,「安卓不开源了」的说法不成立;被改变的是「开源同步」的含义:发布即同步不再成立,部分版本要滞后一个季度。手机厂商拿到的安全预览通道需要单独申请访问权限,GrapheneOS 提到他们通过某个 OEM 合作关系拿到了这个资格。
12 月 QPR2 发布时,37.1 的代码会进入 AOSP,这批 API 的独占期就结束了。发布结构本身已经定型:QPR1 和 QPR3 是 Pixel 的发布窗口,QPR2 和 QPR4 是 AOSP 的发布窗口。下一个在 QPR1 或 QPR3 里出现的新 API 集合,会重复这次三个月的时差,除非 Google 再改一次规则。
说明
本文事实与数据来源:GrapheneOS 官方 Mastodon 帖(2026-09-16)及其后续跟帖;Google developer.android.com 的 37→37.1 API diff 报告与 android.hardware.hid 官方参考文档;Android Authority 2026-09-16 报道;Hacker News 讨论区(story 49758736)。