Open Headunit is an Android app that allows you to turn your Android tablet or phone into an Android Auto receiver. This project is a revived version of the original headunit project by the great Michael Reid. The original project can be found here: https://github.com/mikereidis/headunit
Android Auto 17.4 and newer can prevent legacy wireless triggers from launching projection, including Self-Mode and automated startup via Wireless Helper. Rooted devices have a workaround: re-enable Android Auto's wireless startup receiver.
Choose from the five options below according to your Android Auto version and setup:
1. USB Wireless Android Auto Dongle (Recommended): Hardware dongles provide seamless, hardware-level plug-and-play.
2. Native Mode: Direct Wi-Fi Direct or Headunit Hotspot handshake.
3. Headunit Server (Developer Mode): An option for wireless projection and Self-Mode without root. On the device running Android Auto, open its developer settings and tap "Start Headunit Server".
4. Wireless Helper: The legacy startup flow works with Android Auto up to 17.3; for 17.4+ on rooted devices, see option 5.
5. Root workaround (AA 17.4+): Re-enable WirelessStartupReceiver with one root command to restore the previous wireless startup flow, including Wireless Helper, without starting the developer headunit server. See the command and setup below.
Check out the Wiki for detailed documentation, setup guides and troubleshooting!
Choose from the five options below depending on your Android Auto version and setup:
In advanced settings → Wireless Connection → Pause automatic Wi-Fi searches, enable Pause during wireless connections. It is off by default and applies immediately. The setup screen puts installation and app approval under Common setup, vendor startup under On FYT devices, and manual debugging instructions under On other devices.
Android 11+ can start Shizuku through wireless debugging; the screen also points to its USB setup for devices without that option. Android 8–10 uses USB/computer setup, with an explicit on-device startup option on supported FYT systems. FYT startup asks for normal ADB RSA authorization and keeps its network ADB listener open, including after app restart. Use Close wireless ADB to restore paused Wi-Fi searches and then stop the listener opened by this app. If restoration cannot finish, ADB stays open for recovery. Closing can also stop Shizuku and disconnect USB debugging. Existing ADB ports and persistent settings are left alone. An interrupted explicit close is retried when the app reopens. On Android 8–10 FYT systems, a previously configured FYT start is attempted when a Native wireless transport opens, provided this option stays enabled and Shizuku is not already running. App launch and boot alone do not start it. The attempt runs alongside the Android Auto handshake and does not delay projection. Each connection gets at most one attempt; disconnecting cancels unfinished startup. USB, self and wireless client sessions are excluded. Explicitly closing ADB disables automatic startup until the FYT start button is used again. Android may still require debugging authorization; failure does not block Android Auto.
On app-process death, a separate shell helper attempts rollback. A device-local recovery record survives interruption of both processes and is retried when Shizuku is available again. Pending recovery is shown on the home screen and in settings, with automatic retries while an authorized helper is available. For a legacy scan-always recovery, Android can also restore scanning through a system confirmation without restarting Shizuku. Where the state can be read, the app verifies restoration before clearing its recovery record. Legacy Direct clears the record after Android accepts the enable request. On paths with readable state, if searches are re-enabled elsewhere, the app leaves them enabled for that connection instead of repeatedly forcing them off. Other apps' explicit scans, Wi-Fi Direct discovery and firmware roaming are outside this control; this option cannot promise to eliminate every radio interruption.
On FYT units where the phone pairs for calls with a separate Bluetooth module (for example DUDUAUTO on DUDUOS), Native Mode can carry its Android Auto Bluetooth handshake through /dev/auto_serial, the relay the stock Car Link app (com.syu.carlink) uses, while calls remain on the module and the vehicle microphone/speakers. Tested so far only on DUDUOS with a BLINK module.
Requirements:
- An FYT unit that exposes /dev/auto_serial (Car Link's external-module backend, sys.fyt.bluetooth_type above zero).
- Nothing extra where the node is app-openable, as it is for the stock Car Link. Where it is not (node mode or SELinux), root access for Open Headunit, used as a fallback.
- The stock com.syu.carlink package disabled, because two readers on the same terminal split protocol messages.
- The phone paired with the module; pairing and phone priority remain managed by the module.
Setup:
1. Disable the stock client: adb shell pm disable-user --user 0 com.syu.carlink (prefix with su -c if the shell refuses).
2. In Open Headunit, select Native Mode and enable Connect through the FYT external Bluetooth module.
3. Keep the phone paired with the module and connect normally.
On a detected FYT module unit with this transport off, Native Mode refuses to start and names this setting, instead of listening on a radio the phone is not paired with. If the channel cannot be opened (Car Link still enabled or running, or the node not app-openable and root denied), the reason is shown on screen and retried with a growing delay.
Android Bluetooth driver selection, preferred-phone and wake-list controls are intentionally hidden on this route because Android cannot see or dial phones bonded to the external module. To roll back, turn this transport off and re-enable the stock client with adb shell pm enable com.syu.carlink (prefix with su -c if needed).
On the device running Android Auto (normally the phone), open a **r
| 日期 | 榜单 | 排名 | 周期新增 | 总 STAR |
|---|