Skip to content

Setup Guide

Benjamin Wiegand edited this page Apr 30, 2026 · 10 revisions

Caution

  • Flywheel is still experimental software.
  • Use it at your own risk.
  • Do not use it while driving.
  • I am not responsible for bricked headunits.

Check compatibility

Before installing, you may want to check that you are able to run Flywheel:

Downloading

Flywheel does not currently have any stable releases. You can try a debug pre-release .apk file from the releases tab.

These apk files are signed and should be normally installable. Unfortunately, this may change soon on certified Android devices due to new upcoming restrictions.

Permissions

Tip

On Android 15 and above, if you installed an APK from the releases tab, you may need to go to [Settings > Apps > Flywheel > 3 dot menu > Special App Access] before Android will let you grant some of Flywheel's permissions.

Flywheel does not request certain permissions yet. Failure to grant these permissions results in silently degraded functionality.

You can grant these from [Settings > Apps > Flywheel > Permissions]:

  • Microphone: needed for audio capture on Android 11 and below.
  • Phone: enhances the information shown with the network status indicators on some versions of Android.

You can grant these from [Settings > Apps > Special app access]:

  • Notification read, reply & control: allows displaying and reading aloud (with TTS) notifications through your car.

Elevated privileges

The current development snapshot of Flywheel requires elevated privileges in some form (either through root or ADB). This is because Flywheel's car UI embeds other applications on your phone to be used through Flywheel.

If your device is not rooted or you are unsure, see the Shizuku section.

If your device is rooted, you won't need to change anything.

root

Flywheel uses root mode by default.

Root mode requires your phone to be rooted with Magisk, KernelSU, or some other root solution which provides a su binary. If you don't know what any of that means, you device probably isn't rooted.

To enable root mode:

  1. Open Flywheel
  2. Expand the 3 dot menu and tap "Settings"
  3. Change "Privilege mode" to "root"

You may need to manually grant root access to Flywheel from within your root manager if it doesn't ask for it.

Shizuku

Use this mode if your phone isn't rooted.

Shizuku mode has some limitations:

  • On some phones, connecting anything over USB will cause Shizuku to die. Flywheel adds a grace period in this mode to allow time to re-launch Shizuku. (Please note that starting Shizuku usually requires a WiFi network!)
  • Apps that use FLAG_SECURE will not be viewable on the car display. This is a permission limitation of the ADB Shell.
  • Shizuku, and by extension Flywheel, will not work after a reboot until you start Shizuku again.

To enable Shizuku mode:

  1. Install and set up Shizuku if you haven't already.
  2. Open Flywheel
  3. Expand the 3 dot menu and tap "Settings"
  4. Change "Privilege mode" to "Shizuku"

You may need to manually grant Shizuku access to Flywheel from within Shizuku if it doesn't ask for it.

Disable Android Auto

If the Android Auto app is installed and enabled on your phone, it will try to take over the USB connection.

It might look something like this when you try to connect:

image image

This will prevent Flywheel from being able to connect to your car.

To disable Android Auto:

  1. Go to [Settings > Apps > All apps]
  2. Find Android Auto in the list. You may have to select "Show system" from the 3 dot menu.
  3. Use the "Disable" button.

You can re-enable Android Auto at any time through the same menu.

Keys and Certificates

Tip

It is advisable to try Flywheel without setting up a custom key/certificate pair first.

If that doesn't work, you may need to follow this section.

Typically DIY, emulated, and aftermarket headunits won't try to authenticate connections as coming from the real Android Auto app. Official, OEM, and certified aftermarket headunits may not be so nice.

In these cases, you must import a private key and certificate chain extracted from the real Android Auto app. These change frequently and usually only last a few months before they expire.

Obtaining keys and certificates

Instructions for this are not yet available in this repository, but there are multiple ways to go about it if you know what you're doing.

You may also be able to find working (but usually expired) Android Auto app key/certificate pairs from elsewhere on the Internet. These can work, but you might have to set the clock back on your headunit to before they expired. Flywheel will tell you if an imported certificate is expired.

Importing keys and certificates

  1. Expand the 3 dot menu and go to [Settings > Keys and Certificates]
  2. Import PEM encoded X509 certificate (or chain) and matching PKCS8 private key through file picker
  3. Enable the "Use Imported Keys" switch

Usage

Now that everything is set up, head over to the usage guide for additional usage information.

Clone this wiki locally