# LibrePods：借助逆向得出的协议在 Android 和 Linux 上使用 AirPods 功能

> 实现 AirPods 与苹果设备之间使用的专有协议（作者称由其本人逆向得出），使 Android 和 Linux 应用能够切换降噪模式、读取入耳检测和准确电量，并使用对话感知、头部手势和助听设置。仓库除 Android 应用和 Linux 应用外，还记录了抓包得到的数据包格式、操作码和控制命令。部分功能在 Android 上需要 root，或仍处于实验阶段。

- 类型：案例
- 目标：应用 · 协议
- 类别：独立重建案例
- 关联：独立重建项目
- 来源复核于：2026-10-19
- 收录于：2026-11-09
- 原始资源：<https://github.com/librepods-org/librepods>
- 一手来源：<https://github.com/librepods-org/librepods/blob/89356c08cea3db0b6b54792d9329d09a87cc85fa/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/librepods-airpods-protocol-case/>
- 记录 JSON：<https://awesomerea.org/resources/librepods-airpods-protocol-case/record.json>
- 英文版：[English](https://awesomerea.org/resources/librepods-airpods-protocol-case/index.md)

## 使用条件与局限

- 固定的 main 提交对应 Android v1.0.4。v2.0.0 Android 重写版处于 alpha 阶段；main 包含 Qt 6 Linux 应用，Rust 重写版位于 linux/rust。“查找”、头部追踪空间音频及高质量双向音频仍为未知、计划中或实验性功能。
- 需要自有 AirPods 及受支持的 Android 或 Linux 设备。协议笔记描述在 AirPods Pro 2（USB-C）固件 7A305 上观察到的蓝牙 L2CAP 通信；其他型号和固件可能不同。
- Android 上的蓝牙协议栈绕行方案需要 root 和 Xposed，但 ColorOS/OxygenOS 16、realme UI 7.0 与 Android 16 QPR3 的 Pixel 设备例外。依赖厂商 ID 钩子的功能始终需要 root。Linux 应用需要 CMake 3.16+、Qt 6、OpenSSL 与 libpulse。
- Android CI 构建 FOSS APK；Rust Linux 分支有二进制构建工作流。仓库未发布协议一致性测试套件。
- 许可证：GPL-3.0-or-later。部分界面组件采用 Apache-2.0。苹果字体、产品图片和 AirPods 固件保留各自权利；Android 构建包含 SF Pro 和 AirPods 图片，Linux 应用使用 SF Symbols 6。

## 一手来源

1. <https://github.com/librepods-org/librepods/blob/89356c08cea3db0b6b54792d9329d09a87cc85fa/README.md>
2. <https://github.com/librepods-org/librepods/blob/89356c08cea3db0b6b54792d9329d09a87cc85fa/docs/AAP%20Definitions.md>
3. <https://github.com/librepods-org/librepods/blob/89356c08cea3db0b6b54792d9329d09a87cc85fa/docs/control_commands.md>
4. <https://github.com/librepods-org/librepods/blob/89356c08cea3db0b6b54792d9329d09a87cc85fa/docs/opcodes.md>
5. <https://github.com/librepods-org/librepods/blob/89356c08cea3db0b6b54792d9329d09a87cc85fa/android/README.md>
6. <https://github.com/librepods-org/librepods/blob/89356c08cea3db0b6b54792d9329d09a87cc85fa/android/app/build.gradle.kts>
7. <https://github.com/librepods-org/librepods/tree/89356c08cea3db0b6b54792d9329d09a87cc85fa/android/app/src/main/res-apple>
8. <https://github.com/librepods-org/librepods/blob/89356c08cea3db0b6b54792d9329d09a87cc85fa/linux/README.md>
9. <https://github.com/librepods-org/librepods/blob/89356c08cea3db0b6b54792d9329d09a87cc85fa/linux/CMakeLists.txt>
10. <https://github.com/librepods-org/librepods/blob/89356c08cea3db0b6b54792d9329d09a87cc85fa/.github/workflows/ci-android.yml>
11. <https://github.com/librepods-org/librepods/blob/89356c08cea3db0b6b54792d9329d09a87cc85fa/.github/workflows/ci-linux-rust.yml>
12. <https://github.com/librepods-org/librepods/blob/89356c08cea3db0b6b54792d9329d09a87cc85fa/LICENSE>
13. <https://github.com/librepods-org/librepods/releases/tag/v1.0.4>

## 同分区更多条目：应用

- [OpenHaystack：使用 Apple“查找”网络的追踪标签](https://awesomerea.org/zh/resources/openhaystack-find-my-case/index.md) · 案例
- [PC-BASIC：GW-BASIC 家族解释器](https://awesomerea.org/zh/resources/pcbasic-interpreter-case/index.md) · 案例
- [ReactOS：与 Windows NT 兼容的操作系统](https://awesomerea.org/zh/resources/reactos-nt-compatible-case/index.md) · 案例
- [viaduct：NetNewsWire 的 Linux 移植](https://awesomerea.org/zh/resources/viaduct-netnewswire-case/index.md) · 案例
- [zalo-linux：Zalo 桌面应用的 Linux 软件包](https://awesomerea.org/zh/resources/zalo-linux-desktop-case/index.md) · 案例
- [Free-BBN：重建 PlayStation Broadband Navigator 仪表板](https://awesomerea.org/zh/resources/free-bbn-case/index.md) · 案例

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
