librepods

librepods-orgGPL-3.0活跃维护

让 AirPods 在 Android 和 Linux 上也能用的逆向工程工具,支持电量监控、入耳检测、助听器模式和对话感知等原生功能。

AirPods liberated from Apple's ecosystem.

v1.0.4发布于 2026-10-16 17:32 UTC30,684star +27 / 7 天1,858fork同步于 2026-11-10 05:20 UTC

怎么上手

README 里没有找到可直接复制的安装命令

README 里没有找到可直接复制的安装命令,请到 README 或官方文档查看安装方式。

硬件要求按 README 关键词推断
支持 Apple Silicon
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

这个项目的说明还在生成中,先参考下面「最近发版」和 README。

最近发版

5 个版本v1.0.4
  1. rewrite-v2.0.0-alpha.4v2.0.0-alpha.4 (rewrite)pre-release2026-10-23 · 2026-10-23 09:50 UTC
    查看更新说明
    • android: bump version (80aa7461)
    • android: ble! (cefad27a)
    • android: update island window params after state change from timer (b53a99f2)
  2. rewrite-v2.0.0-alpha.3v2.0.0-alpha.3 (rewrite)pre-release2026-10-22 · 2026-10-22 10:16 UTC
    查看更新说明
    • android: bump version (e29556f6)
    • android: things (bd91c0e3)
    • android: use battery status from case adverts (20adbf3b)
    • android: disable custom back handler when at root (54c356c1)
    • android: parse case's BLE broadcasts (d8f89b15)
    • android: add theming (5dc47653)
    • android: fix not supported page (5dd84464)
    • android: extract eq band label strings (1f70650c)
    • android: rename noise_control widget resources to listening_control (f0291823)
    • android: bump version (74dbb439)
    • android: fix japanese resource directory name (f8c53a82)
    • android: rephrase banner when switching from foss to play (31276ce2)
    • android: some i18n stuff (946ecb39)
    • android: enable parallel sync for gradle 9.4+ (902eee44)
    • android: move bluetooth and data to core module (61914041)
  3. v1.0.4最新正式版2026-10-16 · 2026-10-16 17:32 UTC

    What's changed

    • android: rephrase banner when switching from foss to play (12e7f413)
    • android: add ja translation (56570990)
    • android: conversational -> conversation awareness (a383341d)
    • android: update de translations (45c61c41)
    • android: update zh-rCN translations (2859b71a)
    • android: add ko translations (ff97656b)

    Full Changelog: https://github.com/kavishdevar/librepods/compare/v1.0.3..v1.0.4


    Some features on Play require an in-app purchase. The following features are free on Play: - Battery status - Ear detection - Changing Listening Mode - Press and Hold listening mode customization

    But all builds released here will have all features available for free. If you support the project via GitHub Sponsors or Open Collective, please email me for a code for the in-app purchase on Play.

  4. v1.0.32026-10-16 · 2026-10-16 14:27 UTC
    查看更新说明

    What's changed

    • android: use new version code format (d94543af)
    • android: update not supported text and hide bypass button on Play (9187694b)
    • android: don't show release notes (15522d70)

    Full Changelog: https://github.com/kavishdevar/librepods/compare/v1.0.2..v1.0.3


    Some features on Play require an in-app purchase. The following features are free on Play: - Battery status - Ear detection - Changing Listening Mode - Press and Hold listening mode customization

    But all builds released here will have all features available for free. If you support the project via GitHub Sponsors or Open Collective, please email me for a code for the in-app purchase on Play.

  5. v1.0.22026-10-15 · 2026-10-15 13:05 UTC
    查看更新说明

    [!NOTE] Install the .zip files in your root manager app if you want to grant the app BLUETOOTH_PRIVILEGED and MODIFY_PHONE_STATE permissions to allow the app to

    • Disable audio output when no AirPods are worn
    • Set Metadata like icon and battery status to make it available in system settings/widget

    What's changed

    • android: add assets for other AirPods models (4589176)

    Full Changelog: https://github.com/kavishdevar/librepods/compare/v1.0.1-rc1...v1.0.2


    Some features on Play require an in-app purchase. The following features are free on Play: - Battery status - Ear detection - Changing Listening Mode - Press and Hold listening mode customization

    However, all builds released here will have all features available for free. If you support the project via GitHub Sponsors or Open Collective, please email me for a code for the in-app purchase on Play.

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    [!WARNING] librepods.org is not an official website of the LibrePods project. It inaccurately claims to be the official website of the project by claiming copyrights and using the LibrePods logo in the footer. And at the same time, they say that the project is not affiliated with the LibrePods project or its developers.

    Please report any other such websites to [email protected]

    What is LibrePods?

    LibrePods allows you to use AirPods features that are exclusive to Apple devices. It implements the proprietary protocol used to exchange data between AirPods and Apple devices, enabling features like changing noise control modes, fast ear detection, accurate battery status, head gestures, conversational awareness, and more on non-Apple platforms.

    Feature availability

    FeatureLinuxAndroid
    Changing Listening Mode✅✅
    Ear detection✅✅
    Battery status✅✅
    Renaming AirPods Note for AndroidOn Android, you need to re-pair your AirPods after renaming them because Android might not use the latest name.✅✅
    Loud Sound Reduction🔴⚪
    Head Gestures⛔✅
    Conversational Awareness✅✅
    Automatically connect to AirPods✅✅
    Hearing Aid🔴⚪
    Transparency Mode customization🔴⚪
    Multi-device connectivity (Bluetooth Multipoint; 2 devices only)⚪⚪
    Other accessibility configs (click to expand)Press speedPress and Hold durationNoise Cancellation with single AirPodVolume control on swipeVolume swipe speed🔴✅
    Other general configsPress and Hold to cycle between listening modes/invoke digital assistant (invoking digital assistant needs a recent firmware)Configure call controlsPersonalized volumeLoud Sound Reduction (needs VendorID spoofing)Microphone sidePause media when falling asleep (needs a recent firmware)Enable Off listening mode to switch to Off🔴✅
    Head-tracked Spatial Audio❓❓
    Heart Rate Monitoring🔴🟡
    Find My❓❓
    High quality two-way audio🟡🟡
    SymbolMeaning
    ✅Implemented and works well
    ⚪Needs VendorID spoofing; use at your own risk
    🟡Experimental/Work in progress
    🔴Not implemented yet; planned
    ⛔Will not be implemented
    ❓Unknown

    Find My

    The following features related to Find My are planned, but require further RE and might need root on Android:

    • Add your AirPods to the Find My network
    • Play sound through charging case to find it
    • Notify when leaving behind
    • Toggle case charging sounds

    Spatial Audio

    The app does not currently provide head tracking information to Android for the OS to perform HRTF. This has not been explored completely, and it might need root.

    Spatializing stereo sound is beyond this project's scope and will never be available. Many OEMs have an implementation of their own for this.

    Heart Rate Monitoring

    Android

    Available in the android/rewrite branch. builds

    Linux

    Not available yet (doesn't seem like something that would be useful on a computer anyway. If you have any suggestions, create a discussion.)

    High quality two-way audio

    On iOS/iPadOS, you can continue using A2DP while AirPods send the hi-res (AAC-ELD mono 64kHz?) audio stream from its microphone over AACP.

    Android

    Record audio within the app using the AirPods' microphone without switching to Headset/Handsfree profile degrading the playback quality. But, making this available to other apps/telephony might need root, if possible at all.

    Recorder is work in progress; available in the android/rewrite branch. builds

    Linux

    Check out PR #655.

    Installation

    VendorID Spoofing

    Turns out, if you change the VendorID in DID Profile to that of Apple, you get access to several special features!

    You can do this on Linux by editing the DeviceID in /etc/bluetooth/main.conf. Add this line to the config file DeviceID = bluetooth:004C:0000:0000. For android you can enable the act as Apple device setting in the app's settings (shown only when Xposed is available and LibrePods module is enabled).

    Multi-device Connectivity

    Upto two devices can be simultaneously connected to AirPods, for audio and control both. Seamless connection switching. The same notification shows up on Apple device when Android takes over the AirPods as if it were an Apple device ("Move to iPhone"). Android also shows a popup when the other device takes over.

    Accessibility Settings and Hearing Aid

    Accessibility settings like customizing transparency mode (amplification, balance, tone, conversation boost, and ambient noise reduction), and loud sound reduction can be configured.

    All hearing aid customizations can be done from Android (linux soon), including setting the audiogram result. The app doesn't provide a way to take a hearing test because it requires much more precision. It is much better to use an already available audiogram result.

    Protocol and Reverse Engineering

    Please refer to the Wireshark dissector plugin by Nojus (@pabloaul) for more information on the protocols used: pabloaul/apple-wireshark

    The dissector had not been used in LibrePods for most of the implementation; I had reverse engineered the protocol myself before this dissector was made. But many (future) features including two-way high quality audio and spatial audio would not have been possible without their RE efforts!

    Use of AI

    Android app

    These parts of the app were completely AI-generated:

    • Head Gestures - all of it, including logic and the UI
    • The offset setup with r2+the xposed module (both versions)
    • Troubleshooter and LogCollector

    Rest everything- the background service, the Bluetooth manager classes (AACP and ATT), the entire UI, even the smallest components were written manually.

    Some parts of the UI components were borrowed from Kyant0's demo app, which is licensed under Apache License 2.0.

    Linux (rewrite)

    The aacp.rs and the att.rs files were translated from Kotlin to Rust with AI. Some parts of the media_controller.rs file, mainly the pulse integration, was also AI-generated.

    Supporters

    A huge thank you to everyone supporting the project!

    Special Thanks

    • @tyalie for making the first documentation on the protocol! (tyalie/AAP-Protocol-Definition)
    • @rithvikvibhu and folks over at lagrangepoint for helping with the hearing aid feature (gist)
    • @devnoname120 for helping with the first root patch
    • @timgromeyer for making the first version of the linux app
    • @hackclub for hosting High Seas and Low Skies!
    • Of course, everyone who has contributed to the project in any way, including by testing, sharing feedback, or just showing interest!

    Alternates for other platforms:

    • CAPod - A companion app for AirPods on Android. (play store | source code). Use this if you're using Android version 16 QPR3 or below and are not rooted.
    • MagicPods for Steam Deck (website)
    • MagicPods - if you're looking for "LibrePods for Windows" (ms store installer | website)

    Star History

    License

    LibrePods - AirPods liberated from Apple’s ecosystem Copyright (C) 2025 LibrePods contributors

    This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

    This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

    You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

    Trademark Notice

    The GPL does not grant any rights to use the LibrePods name, logo, or branding. The LibrePods name and logo may not be used for software, websites, domains, products, services, or other projects in a manner that suggests affiliation with, endorsement by, or association with the official LibrePods project without prior permission.

    If you see any misuse of the LibrePods name or logo, please report it to [email protected].

    The SF Pro font used in the Android app is the property of Apple Inc.. This will be removed in future versions of the app and replaced with an open alternative soon.

    AirPods, AirPods Pro, AirPods Max, and the AirPods logo are trademarks of Apple Inc. The LibrePods project is not affiliated with or endorsed by Apple Inc. in any way.