把事情做到极致,就是一种美。——杨洪基
解放 AirPods:LibrePods 带你跨越苹果生态,让高阶功能拥抱 Android 和 Linux
原仓库地址:kavishdevar/librepods
项目 Star:22,000+
许可证:GPLv3
描述:AirPods liberated from Apple’s ecosystem.
目录
- 项目起源 —— 为什么需要“解放 AirPods”
- 支持设备&兼容性简述
- 功能一览:不仅仅是“能听歌”
- 多平台支持:Linux、Android体验
- 部署与使用(含各平台代码/命令演示)
- 技术亮点:核心实现解析
- 进阶玩法:高级定制和解锁额外功能
- 生态与社区
- 结语:开源,让硬件不设限
1. 项目起源 —— 为什么需要“解放 AirPods”
Apple 的 AirPods 系列(Pro, Max 等)凭借优秀的硬件和降噪表现,俨然成为高端无线耳机用户的首选,但完整的专属功能(比如降噪模式切换、耳朵检测、听力辅助、手势接听、个性化设置等)却被锁定在苹果自家生态(iOS/macOS)中!
LibrePods 致力于打破品牌生态墙,让这些高阶特性来到 Android、Linux 甚至更广泛的设备上。 换句话说,只要你有 AirPods,无论用什么操作系统,都能大幅度体验“苹果独占”的官方功能!
2. 支持设备 & 兼容性简述
| 状态 | 设备 | 功能支持 |
|---|---|---|
| ✅ | AirPods Pro (2nd Gen) | 完全支持并实机测试 |
| ✅ | AirPods Pro (3rd Gen) | 基本完全支持(除心率监控) |
| ✅ | AirPods Max | 完全支持(部分显示为不支持功能) |
| ⚠️ | 其它 AirPods | 支持(电量、耳套检测等基础功能) |
实测以 Pro 2 最全,但协议分析表明绝大多数功能在其它型号同样适用,如果你有其它型号请积极反馈!
3. 功能一览:不仅仅是“能听歌”
- 降噪/环境音/自适应/关闭模式:软件内一键切换,无需再捏设备本体
- 耳朵检测&自动切换:摘下自动切歌/转扬声器
- 电量获取:精准显示左右耳&充电盒剩余电量
- 头部手势识别:点头接听电话,摇头拒接来电
- 对话感知:说话自动降低音量
- 听力辅助(Hearing Aid):个性化听力增强,全参数自定义
- 个性化定制:改名、捏压功能自定义、Accessibility深度设置
- 多设备连接:最多支持两设备(音频和控制同步)
以及更丰富的实验及进阶功能(需修改 VendorID):
- 自主调整透明模式/Conversation Boost/声音均衡等
- 听力测试&补偿曲线自定义(Audiogram)
4. 多平台支持:Linux、Android 体验
Linux
Linux 下 LibrePods 原生 GUI 管理程序,支持绝大部分官方专属功能(参见 linux/README.md):
- 支持 Qt6,跨发行版编译
- 电量、降噪、耳朵检测、听力辅助、环境感知、交互式系统托盘菜单
- 媒体控制兼容 PipeWire、PulseAudio
Android
-
完整适配 Android 13/14
-
设定页面图形丰富(见多幅截图演示),通知栏显示、快捷开关、自定义长按、手势感应、Widget等
-
深度定制透明模式、辅助设置
-
注意:安卓部分功能需 ROOT + Xposed 框架支持,因 Android 蓝牙栈历史 bug 所致
详见官方 Wiki/README 指南,部分 ColorOS/OxygenOS 可免 root 对某些功能。
5. 部署与使用(含各平台代码/命令演示)
Linux 安装&运行(以 Debian/Arch 为例):
依赖环境准备
1 | |
编译&运行
1 | |
小贴士 — 蓝牙协议小改动解锁更多功能
添加到 /etc/bluetooth/main.conf 末尾:
1 | |
重启蓝牙服务(sudo systemctl restart bluetooth)并重新配对 AirPods,可让系统在协议级被识别为 Apple 设备,解锁听力辅助/自定义透明等高级特性。
Android 部署
- 编译 APK 并以系统应用或通过 Xposed 框架安装
- 界面可以配置降噪、捏压、音量、透明增强等,无线切换
- 开启 VendorID 模拟后无需 iPhone即可定制全部细节
头部手势追踪高级玩法(Python 快速演示)
对于开发者,仓库 head-tracking/README.md 提供了极具 geek 趣味的头部动作追踪原型(如点头接听电话):
1 | |
如果想要纯粹动作判别:
1 | |
识别算法关键点(伪代码):
1 | |
6. 技术亮点:核心实现解析
蓝牙协议逆向
基于 AAP-Protocol-Definition 等社区文档通过蓝牙 HID/L2CAP 定制通信,重新实现 Apple 设备与 AirPods 之间的专有特性:
- 修改 VendorID/DeviceID,让非 Apple 设备模拟“苹果手机”,解锁隐藏功能
- 高频数据包分析,实现精准电量/动作/状态同步
- 手动构造/监听命令包,比如降噪/自适应/辅助功能
可扩展性&辅助功能
- 支持多台设备间无缝音频与控制切换(Android + Linux 交接)
- 丰富 Accessibility、自定义强大
- 开源协议,便于二次开发集成任意平台
7. 进阶玩法:高级定制和解锁额外功能
-
Hearing Aid定制:用
hearing_aid.py自行配置8频段的听力补偿(需提供个人听力曲线);1
python3 hearing_aid.py -
自定义 VendorID:在安卓/桌面端模拟苹果厂牌,开启超级权限
-
多设备协同:官方原生一般只支持苹果设备自动切换,LibrePods 跨平台同样无缝
8. 生态与社区
- 贡献者包括蓝牙协议逆向大神(tyalie 等),多名开发者。感谢 @rithvikvibhu、[@timgromeyer]、[@devnoname120] 等的文档与代码助力
- 整合了 hackclub 高性能主机
- Star 飞速增长,欢迎 issue / PR / 讨论更多新特性与 bug
9. 结语:开源,让硬件不设限
LibrePods 让顶尖硬件不再被生态和“专属功能”锁链束缚,是真正把用户和开发者放在首位的优秀开源项目。它“解构”苹果独占的同时也为业界打下跨平台定制和 accessibility 的范本。
无论你是安卓党、Linux 极客、硬件黑客,还是渴望更多自定义的重度用户,LibrePods 都值得你一试。
“解锁即自由,开放即未来!”
👉 仓库地址:kavishdevar/librepods