LibrePods (github version) 0.1.0-rc.4
arm64-v8a, armeabi-v7a, x86, x86_64
Native (Java/Kotlin)
33.77 MB
Download APK
Verified Safe
File Information
| Package Name | me.kavishdevar.librepods |
|---|---|
| Version Name | 0.1.0-rc.4 |
| Version Code | 7 |
| Architecture | arm64-v8a, armeabi-v7a, x86, x86_64 |
| Min Android Version | Android 28 (API 35) |
| Main Activity | me.kavishdevar.librepods.MainActivity |
| Framework | Native (Java/Kotlin) |
| File Size | 33.77 MB |
| Signature (SHA1) | FD7C6BCDB505B9E8B90D2FAC4A296892AD197277 |
| File Hash (SHA256) | 3cc5c8c2cb31757440ee49f504821bdfd339ec463c6cbc2c8220b187d04c2175 |
What's New
Features and Improvements
BLE Support
:
Battery information when not connected
: The app can now detect your AirPods if they're turned on to show accurate battery information even if they're not connected to Android (or linux for cross device features). This is basically what currently available apps do, but LibrePods can also decrypt the part of the BLE broadcast.
Automatic connections
: When you receive a call, or start playing media, based on your preferences (check
screenshots in README
), the app will automatically connect to AirPods.
The app can now get all the configuration information from the AirPods, like conversation awareness, adaptive audio etc.. These settings will not be overwritten when you change them on an apple device and connect back to Android.
Improved the
island
. Improved animations, and you can now pull down to open the app and push up to dismiss.
Improved audio disconnection when not worn.
Add support for pre-A12, location permission is requestion instead of the new bluetooth permissions.
Important
A few changes were needed to support pre-A12 versions, and one of these changes requires a fresh install of the app.
If you have already installed the app as a system app by using the root module, you will have to flash the root module again instead of updating the app using the apk.
If you have not installed it as a system app, you
will
have to uninstall the app. Since this version gets the config data from the AirPods itself, most of your settings will stay with a notable exception of the
long press to cycle between
config (AirPods might not always send this).
Linux
Add more control commands by
@tim-gromeyer
in
#127
Add One Bud ANC Mode setting by
@tim-gromeyer
in
#128
Move all device related properties to new class by
@tim-gromeyer
in
#135
Fix UI not working by
@tim-gromeyer
in
#137
Full Changelog
:
v0.1.0-rc.3...v0.1.0-rc.4
BLE Support
:
Battery information when not connected
: The app can now detect your AirPods if they're turned on to show accurate battery information even if they're not connected to Android (or linux for cross device features). This is basically what currently available apps do, but LibrePods can also decrypt the part of the BLE broadcast.
Automatic connections
: When you receive a call, or start playing media, based on your preferences (check
screenshots in README
), the app will automatically connect to AirPods.
The app can now get all the configuration information from the AirPods, like conversation awareness, adaptive audio etc.. These settings will not be overwritten when you change them on an apple device and connect back to Android.
Improved the
island
. Improved animations, and you can now pull down to open the app and push up to dismiss.
Improved audio disconnection when not worn.
Add support for pre-A12, location permission is requestion instead of the new bluetooth permissions.
Important
A few changes were needed to support pre-A12 versions, and one of these changes requires a fresh install of the app.
If you have already installed the app as a system app by using the root module, you will have to flash the root module again instead of updating the app using the apk.
If you have not installed it as a system app, you
will
have to uninstall the app. Since this version gets the config data from the AirPods itself, most of your settings will stay with a notable exception of the
long press to cycle between
config (AirPods might not always send this).
Linux
Add more control commands by
@tim-gromeyer
in
#127
Add One Bud ANC Mode setting by
@tim-gromeyer
in
#128
Move all device related properties to new class by
@tim-gromeyer
in
#135
Fix UI not working by
@tim-gromeyer
in
#137
Full Changelog
:
v0.1.0-rc.3...v0.1.0-rc.4
App Description
What is LibrePods?
LibrePods unlocks Apple's exclusive AirPods features on non-Apple devices. Get access to noise control modes, adaptive transparency, ear detection, hearing aid, customized transparency mode, battery status, and more - all the premium features you paid for but Apple locked to their ecosystem.
Device Compatibility
Status
Device
Features
✅
AirPods Pro (2nd Gen)
Fully supported and tested
✅
AirPods Pro (3rd Gen)
Fully supported (except heartrate monitoring)
✅
AirPods Max
Fully supported (client shows unsupported features)
⚠️
Other AirPods models
Basic features (battery status, ear detection) should work
Most features should work with any AirPods. Currently, I've only got AirPods Pro 2 to test with.
Key Features
Noise Control Modes
: Easily switch between noise control modes without having to reach out to your AirPods to long press
Ear Detection
: Controls your music automatically when you put your AirPods in or take them out, and switch to phone speaker when you take them out
Battery Status
: Accurate battery levels
Head Gestures
: Answer calls just by nodding your head
Conversational Awareness
: Volume automatically lowers when you speak
Hearing Aid*
Customize Transparency Mode*
Multi-device connectivity*
(upto 2 devices)
Other customizations
:
Rename your AirPods
Customize long-press actions
All accessibility settings
And more!
* Features marked with an asterisk require the Bluetooth DID (Device Identification) hook to be enabled.
See the
pinned issue
for a complete feature list and roadmap.
Platform Support
Linux
for the old version see the
Linux README
. (doesn't have many features, maintainer didn't have time to work on it)
new version in development (
#241
)
Android
Screenshots
here's a very unprofessional demo video
demo-video.mp4
Root Requirement
If you are using ColorOS/OxygenOS 16, you don't need root for basic features! You will still not be able to customize transparency mode and setup hearing aid, and use Bluetooth Multipoint. For everyone else:
Caution
You must have a rooted device with Xposed to use LibrePods on Android.
This is due to a
bug in the Android Bluetooth stack
. Please upvote the issue by clicking the '+1' icon on the IssueTracker page.
There are
no exceptions
to the root requirement until Google/your OEM figures out a fix.
Until then, you must xposed. I used to provide a non-xposed method too, where the module used overlayfs to replace the bluetooth library with a locally patched one, but that was broken due to how various devices handled overlayfs and a patched library. With xposed, you can also enable the DID hook enabling a few extra features.
Bluetooth DID (Device Identification) Hook
Turns out, if you change the manufacturerid to that of Apple, you get access to several special features!
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, 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.
To enable these features, enable App Settings ->
act as Apple Device
.
A few notes
Due to recent AirPods' firmware upgrades, you must enable
Off listening mode
to switch to
Off
. This is because in this mode, louds sounds are not reduced.
If you have take both AirPods out, the app will automatically switch to the phone speaker. But, Android might keep on trying to connect to the AirPods because the phone is still connected to them, just the A2DP profile is not connected. The app tries to disconnect the A2DP profile as soon as it detects that Android has connected again if they're not in the ear.
When renaming your AirPods through the app, you'll need to re-pair them with your phone for the name change to take effect. This is a limitation of how Bluetooth device naming works on Android.
If you want the AirPods icon and battery status to show in Android Settings app, install the app as a system app by using the root module.
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/
.
All trademarks, logos, and brand names are the property of their respective owners. Use of them does not imply any affiliation with or endorsement by them. All AirPods images, symbols, and the SF Pro font are the property of Apple Inc.
LibrePods unlocks Apple's exclusive AirPods features on non-Apple devices. Get access to noise control modes, adaptive transparency, ear detection, hearing aid, customized transparency mode, battery status, and more - all the premium features you paid for but Apple locked to their ecosystem.
Device Compatibility
Status
Device
Features
✅
AirPods Pro (2nd Gen)
Fully supported and tested
✅
AirPods Pro (3rd Gen)
Fully supported (except heartrate monitoring)
✅
AirPods Max
Fully supported (client shows unsupported features)
⚠️
Other AirPods models
Basic features (battery status, ear detection) should work
Most features should work with any AirPods. Currently, I've only got AirPods Pro 2 to test with.
Key Features
Noise Control Modes
: Easily switch between noise control modes without having to reach out to your AirPods to long press
Ear Detection
: Controls your music automatically when you put your AirPods in or take them out, and switch to phone speaker when you take them out
Battery Status
: Accurate battery levels
Head Gestures
: Answer calls just by nodding your head
Conversational Awareness
: Volume automatically lowers when you speak
Hearing Aid*
Customize Transparency Mode*
Multi-device connectivity*
(upto 2 devices)
Other customizations
:
Rename your AirPods
Customize long-press actions
All accessibility settings
And more!
* Features marked with an asterisk require the Bluetooth DID (Device Identification) hook to be enabled.
See the
pinned issue
for a complete feature list and roadmap.
Platform Support
Linux
for the old version see the
Linux README
. (doesn't have many features, maintainer didn't have time to work on it)
new version in development (
#241
)
Android
Screenshots
here's a very unprofessional demo video
demo-video.mp4
Root Requirement
If you are using ColorOS/OxygenOS 16, you don't need root for basic features! You will still not be able to customize transparency mode and setup hearing aid, and use Bluetooth Multipoint. For everyone else:
Caution
You must have a rooted device with Xposed to use LibrePods on Android.
This is due to a
bug in the Android Bluetooth stack
. Please upvote the issue by clicking the '+1' icon on the IssueTracker page.
There are
no exceptions
to the root requirement until Google/your OEM figures out a fix.
Until then, you must xposed. I used to provide a non-xposed method too, where the module used overlayfs to replace the bluetooth library with a locally patched one, but that was broken due to how various devices handled overlayfs and a patched library. With xposed, you can also enable the DID hook enabling a few extra features.
Bluetooth DID (Device Identification) Hook
Turns out, if you change the manufacturerid to that of Apple, you get access to several special features!
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, 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.
To enable these features, enable App Settings ->
act as Apple Device
.
A few notes
Due to recent AirPods' firmware upgrades, you must enable
Off listening mode
to switch to
Off
. This is because in this mode, louds sounds are not reduced.
If you have take both AirPods out, the app will automatically switch to the phone speaker. But, Android might keep on trying to connect to the AirPods because the phone is still connected to them, just the A2DP profile is not connected. The app tries to disconnect the A2DP profile as soon as it detects that Android has connected again if they're not in the ear.
When renaming your AirPods through the app, you'll need to re-pair them with your phone for the name change to take effect. This is a limitation of how Bluetooth device naming works on Android.
If you want the AirPods icon and battery status to show in Android Settings app, install the app as a system app by using the root module.
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/
.
All trademarks, logos, and brand names are the property of their respective owners. Use of them does not imply any affiliation with or endorsement by them. All AirPods images, symbols, and the SF Pro font are the property of Apple Inc.
Download LibrePods (github version) APK
Fast, free and safe download.
APK Permissions 19
- android.permission.ACCESS_FINE_LOCATION
- android.permission.ANSWER_PHONE_CALLS
- android.permission.BLUETOOTH
- android.permission.BLUETOOTH_ADMIN
- android.permission.BLUETOOTH_ADVERTISE
- android.permission.BLUETOOTH_CONNECT
- android.permission.BLUETOOTH_PRIVILEGED
- android.permission.BLUETOOTH_SCAN
- android.permission.FOREGROUND_SERVICE
- android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE
- android.permission.INTERACT_ACROSS_USERS
- android.permission.INTERNET
- android.permission.MODIFY_AUDIO_SETTINGS
- android.permission.POST_NOTIFICATIONS
- android.permission.READ_PHONE_STATE
- android.permission.RECEIVE_BOOT_COMPLETED
- android.permission.SYSTEM_ALERT_WINDOW
- android.permission.WRITE_EXTERNAL_STORAGE
- me.kavishdevar.librepods.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
APK Verified
The cryptographic signature guarantees that the file is safe to install and was not tampered with in any way.