Table of Contents
Changeling
Changeling is an Android app for GrapheneOS that implements the phone side of the Android Auto protocol, so a car's stock head unit can connect to it exactly as if it were talking to a real, Google-Play-Services-equipped phone — no head unit modification, no Google Android Auto app.
This wiki covers the project for people picking it up (including future-us). For the code itself, see the repository.
Pages
- Project Status — what's built, what's tested, what's still just a plan
- Architecture — how the protocol layers fit together, and the key classes
- Setup — getting a dev environment working (SDK, JDK, Gradle, Android Studio)
- Building and Testing — building the APK and running the test suite
- Screen Design — design notes and decisions for the on-car UI (M4+)
Why this exists
GrapheneOS deliberately ships without Google Play services, which the real Android Auto app depends on. Changeling's goal is equivalent functionality — maps, music, calls, voice — by speaking the Android Auto wire protocol directly from a degoogled phone, so the car itself doesn't need to know or care that anything is different.
This is an interoperability project: re-implementing a documented, already-reverse-engineered protocol (see OpenAuto / aasdk, which do the head unit side) so two pieces of hardware (phone, car) that already expect to speak it can do so without Google's official client.
License
GPLv3. The project vendors Android Auto's protobuf schema from aasdk, which is GPLv3-licensed, so the project as a whole is too. See LICENSE.