Seb3thehacker 5f9701ccff Release 0.0.05-alpha: guided setup, downloadable certificate, car phone app, media rework
- First run now asks for permissions one at a time, each on its own screen with an Allow or
  Skip, instead of firing every system dialog at once from a cold start
- The head unit certificate can be downloaded straight from the opencardev/aasdk repository
  with one tap, on top of the existing adb-staged and file-import paths; Settings shows which
  source is active and lets an imported or downloaded certificate be removed
- A phone app on the car screen: a keypad and a searchable contacts list, with a confirmation
  card before every call
- The web browser draws its own on-screen keyboard for a page's text fields, so a search box or
  address bar can be typed into from the car screen
- Media player rework: a dedicated Now Playing tab with a bigger, screen-size-aware layout, an
  Up Next tab showing the app's real queue, and Browse/Lyrics tabs that share the same rail
- Waze and Google Messages are marked broken instead of pretending to work; Google's own dialer,
  Assistant, and Android Auto entries are hidden from the car launcher entirely; Aardvark and
  Vivi Music are marked tested and working
- A help screen replaces the old wall of setup text on the home screen
- The display-calibration screen is gone - it did its job
2026-09-26 16:53:28 -07:00

Gearslip icon

Gearslip

Bring any app to your car screen.

What Gearslip is

Gearslip is an Android Auto client for the phone. It speaks the Android Auto protocol directly to a car head unit over USB, with no Google software in the path. Gearslip acts as a Car App Library host: an app that ships a car interface hands Gearslip a template, and Gearslip renders that template natively on the car screen. Nothing is mirrored from the phone. For apps without a car interface, Gearslip offers a separate screen-sharing mode.

The author reverse-engineered the protocol for interoperability, so that a client other than Google's own can talk to a car head unit.

Status

  • Templated apps work. Gearslip renders all 16 template types that the Car App Library defines, and it draws its own keyboard for search and sign-in. It has been tested against several real navigation and media apps.
  • Media playback works. Gearslip lets you browse and control car-enabled media apps from the car screen, with lyrics and playback state, over the same host connection.
  • Audio reaches the car by capturing playback, not by mirroring the screen. Android requires a screen-share style consent dialog and indicator for this, even though Gearslip never reads the screen; that grant is the only way a non-privileged app can tap another app's audio. The consent normally repeats every drive; the app's own setup steps include two optional adb commands that reduce it to a one-time grant.
  • A real head unit needs a certificate that Google controls. A head unit accepts only a phone identity that chains to Google's Automotive Link certificate authority, and Google alone issues those certificates. Gearslip does not ship one. Without it, Gearslip runs and renders correctly against a debug harness, but a real car rejects the connection. A leaked certificate exists that older head units accept; newer firmware and Google's reference tooling reject it.
  • Gearslip needs no adb, root, or Shizuku. Every feature relies on an ordinary Android permission or an on-device consent dialog. The two adb commands mentioned above, for audio, are the sole exception: both are optional, and both only remove a dialog that the driver would otherwise see once per drive.

Building

./gradlew :gearslip:assembleDebug

The APK lands at build/Gearslip-debug.apk.

A release build needs a signing key. Copy keystore.properties.example to keystore.properties, fill in your own values, and run ./gradlew :gearslip:assembleRelease. Git ignores both the properties file and the keystore. Without them, the debug build still works.

Writing apps for Gearslip

docs/BUILDING_APPS.md specifies how to write apps that Gearslip can render: templated apps, media apps, and the Gearslip app protocol.

License

Gearslip is licensed under AGPL-3.0; see LICENSE. The author offers a separate commercial license for private use outside the AGPL's terms; see NOTICE.md.

Languages
Kotlin 100%