DiLink-Auto
Open-source alternative to Android Auto — for any Android phone
Mirror your phone apps onto your car display with full touch interaction. No Google Services, no pairing codes, no accounts needed.
What It Does
App Mirroring
Launch any phone app from your car screen — navigation, music, messaging. Full touch interaction with multi-touch and pinch-to-zoom.
60fps Video
H.264 video streaming at up to 60fps, 8Mbps CBR. GPU-downscaled at phone's native DPI — crisp on any car display.
Battery Saving
Phone screen stays off during streaming. Apps run on a virtual display — your phone stays cool and saves battery.
Notifications
Phone notifications appear on your car's nav bar with progress indicators. Tap to open the app directly.
Auto-Update
Phone auto-updates the car app over WiFi when a new version is available. Self-update checks GitHub Releases.
No Google Services
Works on any Android 10+ phone — with or without Google Play Services. Originally made for Chinese ROM / HyperOS devices.
How It Works
Enable Hotspot
Turn on your phone's WiFi hotspot. The car connects to it — no cables needed for streaming.
Plug In
Connect your phone to the car's USB port. The car auto-installs on first use, then auto-connects every time.
Auto-Connect
3 dedicated WiFi TCP streams: video (port 9638), touch input (9639), and control (9637). Auto-discovered via mDNS.
Use Your Apps
Launch any app from the car launcher. It runs on the phone, appears on the car, and responds to touch.
Requirements
Phone
- Any Android 10+ phone
- USB Debugging enabled (Developer Options)
- All Files Access permission
Car
- BYD DiLink 3.0 or newer
- One free USB-A port
- WiFi enabled (connects to phone hotspot)
Technical Highlights
Installation
Download the APK and install it on your phone only. The car app is bundled inside — you never install anything on the car manually.
Or build from source:
./gradlew :app-client:assembleDebug
APK at: app-client/build/outputs/apk/debug/app-client-debug.apk
Documentation
Setup Guide
Detailed install instructions, troubleshooting, and device-specific tips.
Architecture
Module design, connection flow, and key design decisions.
Phone Client
ConnectionService, VD JAR deployment, auto-update, and file logging.
Car Server
State machine, USB ADB, VideoDecoder with catchup, and car UI.
Protocol Spec
Wire format, message types, port assignment, and binary framing.
Progress Tracker
Feature status, milestones, fix tracker, and roadmap.
Support the Project
This project is developed independently and relies on community support. Every contribution helps cover development time, testing devices, and keeping the project alive.