DiAuto
0.3.11 · GitHub
More about this app
Wireless and USB Android Auto receiver for BYD DiLink head units; runs entirely on the car display and uses Shizuku or root for privileged setup. No phone companion app or dongle.
DiAuto
Android Auto on your BYD display. Wireless or USB.
BYD support scope: These projects focus on BYD cars. They may work on other brands, but other brands are unsupported and there are no plans to add support or fix brand-specific incompatibilities.
Download & installation · Latest release · Telegram updates
English · العربية · Русский · Español · 简体中文
Install DiAuto on the car, then connect a compatible Android phone using its built-in Android Auto support. No additional phone companion app, dongle, external hardware, root or firmware modification is required. An Android phone is still required; this is not Apple CarPlay.

What’s new in 0.3.11
- Connects when you turn on the car hotspot after opening DiAuto, without restarting the app.
- Waits for the hotspot network to be ready instead of using the car’s wired or modem connection details.
- Refreshes hotspot connection details after a failed phone join, and waits for a manually selected hotspot interface.
Features
- Native wireless Android Auto, with USB data-cable support.
- BYD windshield navigation arrows, distance and street names on verified firmware, without ADB.
- Improved recovery when the Wi-Fi Direct interface appears late; explicit Static BSSID remains supported.
- Automatic Wi-Fi Direct address recovery on supported DiLink firmware, without ADB setup.
- Car-friendly home screen, simplified settings and redesigned option dialogs.
- Music-through-car-Bluetooth mode to avoid competing media audio focus.
- Automatic preference for the car's existing non-DFS 5 GHz Wi-Fi channel when supported, with normal band selection as a fallback.
- Bounded SurfaceView frame pacing, full-screen 1080p and corrected touch alignment.
Compatibility and setup
Tested on BYD DiLink 5.1 with Android 13, using wireless and physical USB connections. Other models and firmware versions are not yet verified. A compatible Android phone with functioning Android Auto is required. The app and website support English, Simplified Chinese, Arabic, Russian and Spanish. Other existing community translations remain available.
See BYD HUD compatibility and cleanup limits.
See the installation guide, including permissions, Static BSSID and upgrading from private previews. APK installation must be allowed by your head unit. Set up while parked.
The tested panel exposes approximately 58 Hz. Recent wireless map-drag samples reached 47–58 displayed FPS after Wi-Fi channel alignment, with remaining variation and occasional stalls. Constant 60 FPS is not promised. See validation notes.
Build
Requires JDK 17, Android SDK 36, NDK 29.0.14206865, and CMake 3.22.1.
Set ANDROID_HOME or an untracked local.properties with sdk.dir=....
./gradlew :app:testGithubDebugUnitTest :app:assembleGithubDebug :app:assembleGithubRelease
APKs are under app/build/outputs/apk/github/. Release builds use R8/resource shrinking.
They are unsigned unless an untracked key.properties provides:
storeFile=/absolute/path/to/your-release-keystore.p12
storePassword=YOUR_PRIVATE_PASSWORD
keyAlias=YOUR_KEY_ALIAS
keyPassword=YOUR_PRIVATE_PASSWORD
Never commit signing keys or passwords. Your self-built APK will not upgrade a public
release unless signed with the same key. The public release signing key is held privately
by the maintainer. Application ID: com.andrerinas.headunitrevived.
Only the github flavor is covered by this fork's CI.
Website
Five static language editions live under site/. Edit site/content.json, then run
python3 scripts/build_site.py. GitHub Actions deploys only site/ to GitHub Pages.
Credits and license
DiAuto is an independent fork of Open Headunit,
based on work by its contributors and Michael Reid.
The local DiLink fork began from upstream commit 562c8dc; the first public snapshot
includes the DiAuto modifications developed from that fork.
See LICENSE (AGPL-3.0), original copyright notices, in-app credits and third-party notices. This repository contains the source for the published app. Android Auto is a Google trademark. This project is not affiliated with or endorsed by Google or BYD.
How Shizuku is used
Can enable car steering wheel and hardware keys on FYT head units via the `setprop sys.carlink.type` shell command through Shizuku.
This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.
How this app uses Shizuku
Shizuku is used for one narrow setup task on compatible car displays, taking and releasing key focus so hardware buttons reach the app.
- Use car hardware keys: on supported FYT head units the app takes key focus when it connects to the car system service and releases it when it disconnects, so steering wheel and other hardware keys can control Android Auto, applied with the
setprop sys.carlink.typeshell command through Shizuku.
Android APIs or commands used
setprop sys.carlink.type
Notable details
Only needed on FYT based head units; on other devices this Shizuku path does nothing. The privileged call only ever sets fixed values for one system property and does not run user typed commands.
Changelog
What's new for version 0.3.11
DiAuto 0.3.11 — Hotspot startup recovery
DiAuto now recovers when you open it before enabling the car’s built-in hotspot, without needing to remove the app from recent apps and reopen it.
- Waits for the actual hotspot interface instead of using wired or modem connection details during startup.
- Refreshes hotspot connection details after the phone reports a failed Wi-Fi join.
- Waits for a manually selected hotspot interface to become ready.
- Prevents cancelled connection-detail lookups from overwriting newer results.
The owner confirmed that the test build worked before approving this release. The existing English, Simplified Chinese, Arabic, Russian and Spanish support is retained.
Installation
Install DiAuto-v0.3.11.apk on the car, over the previous public DiAuto release to retain settings. The production package and signing key are unchanged. HUD Test builds use a separate app package.
Download and installation guide
Validation
650 unit tests and core translation checks passed. Debug and optimized release builds passed; the production package, version, non-debuggable status and signing continuity were verified. The owner’s car test used the HUD test build; the optimized production APK has not had a separate physical-car test.
This project supports BYD cars. Other head units and firmware are not verified. The source archive and SHA-256 checksums are attached.
Permissions
31 permissions requested