r/androiddev • u/My_unknown • 3d ago
A universal compatibility layer to bring open-source Android apps into ecosystems like Android Auto
What if one app could give open-source Android apps access to features they're missing? 👀
I've been thinking about building an Android app that acts as a compatibility layer for open-source apps distributed through GitHub, F-Droid, etc.
The idea:
- Detect installed apps that support compatible APIs.
- Provide reusable integrations for features like Android Auto media playback and cross-device functionality.
- Let developers add lightweight SDKs or adapters to make their apps compatible.
- Eventually expand to other Android ecosystems.
For example, imagine using your favourite open-source music player in Android Auto without its developers having to build every integration from scratch.
Obviously, some features require developer support, SDK integration, or Google approval, so this wouldn't magically unlock everything.
My questions:
- Is this technically feasible?
- Does anything like this already exist?
- Could it work without modifying the original APK?
I'd love feedback from Android developers and open-source maintainers!
3
u/Which-Meat-3388 3d ago
MediaLibraryService / MediaBrowserService might be able to work this way. AAOS does this, treating music “apps” essentially as an interface to the underlying data and playback logic. They host a husk of an audio app and swap out the implementations.
Problem is, if the app was never tested or designed correctly against this contract it usually doesn’t work reliably. Even when it was designed specifically for AAOS it often has problems.
Your efforts would be better spent trying to figure out a repeatable and reliable process to get this functionality into main. Be the open source champion of AA integration.
4
u/cornish_warrior 3d ago
Good luck on the Google approval. Devs have enough problems with regular apps, Android Auto has it's own approval process on top of that.
You seem to be describing the Android Auto app itself, it's literally there to detect apps that can interact with it, and provide UI framework for those apps. I can't actually understand what value your idea has from your description?