Advanced Android Developer for Car App Upgrade
Budget: $750 – $1,500 USD
I’m looking for an experienced Android developer to join and help me take the project to
the next level. Below is a clear overview of what already exists, how it works, and what I
need to build next.
What I already have
1) Car App (Android - runs on the BYD head unit)
Tech stack
● Language: Java 11
● Platform: Android Native (API 21-35)
● Build: Gradle (Kotlin DSL)
● Networking: Retrofit + OkHttp
● Backend sync: Firebase REST
● IPC: AIDL
● Local comms: ADB (LibADB Android)
● SSH/SFTP: JSch
Main modules
● VehicleDataProvider - reads vehicle data via BYD SDK (speed, SOC, temps, range,
etc.)
● TripManager - trip recording: GPS, distance, time, energy/fuel usage
● ChargingManager - charging sessions tracking, energy/time calculations
● DataManager - real-time sync to Firebase
● FileMonitorManager - monitors 360 camera video files
● FirebaseUploadManager - uploads videos to Firebase Storage
● LocationManager - GPS tracking
● NetworkMonitorManager - network status monitorin
● DaemonMonitor - manages background daemon connectivity
Core features
● Real-time vehicle telemetry: SOC, 12V/HV voltage, speed, odometer, temperatures,
range, charging status, charging power, remaining time
● Trip history: auto start/stop detection, route tracking, statistics, history storage
● Charging history: plug/unplug detection, session stats, history storage
● Video management: monitor and upload car videos, remote download support
● Background operation: foreground service + daemon-based system access
2) Two-layer architecture (App + privileged Daemon) to access protected
BYD APIs
BYD blocks sensitive APIs unless you have system privileges. The solution is a dual-layer
architecture:
● Daemon (Shell process, UID 2000) runs via app_process with system-level access
● App (regular user process) handles UI, logic, Firebase, managers
● Communication between them is via AIDL/Binder, and the daemon shares the
binder via broadcast
Daemon responsibilities
● Access BYD SDK and protected framework APIs
● Execute control commands (doors, AC, etc.)
● Provide an AIDL service (IShellService) for the app
● Monitor/restart the app if needed
● Poll vehicle data periodically and push updates
CoreService responsibilities
● Foreground service that manages all manager
Android developer having proven experience in Java, Kotlin, Native C.
Must have deep knowledge of Daemon, ADB lib and JNI libraries
Proven experience of WebRTC
Knowledge about Firebase.
Past work with car related video streaming apps
the next level. Below is a clear overview of what already exists, how it works, and what I
need to build next.
What I already have
1) Car App (Android - runs on the BYD head unit)
Tech stack
● Language: Java 11
● Platform: Android Native (API 21-35)
● Build: Gradle (Kotlin DSL)
● Networking: Retrofit + OkHttp
● Backend sync: Firebase REST
● IPC: AIDL
● Local comms: ADB (LibADB Android)
● SSH/SFTP: JSch
Main modules
● VehicleDataProvider - reads vehicle data via BYD SDK (speed, SOC, temps, range,
etc.)
● TripManager - trip recording: GPS, distance, time, energy/fuel usage
● ChargingManager - charging sessions tracking, energy/time calculations
● DataManager - real-time sync to Firebase
● FileMonitorManager - monitors 360 camera video files
● FirebaseUploadManager - uploads videos to Firebase Storage
● LocationManager - GPS tracking
● NetworkMonitorManager - network status monitorin
● DaemonMonitor - manages background daemon connectivity
Core features
● Real-time vehicle telemetry: SOC, 12V/HV voltage, speed, odometer, temperatures,
range, charging status, charging power, remaining time
● Trip history: auto start/stop detection, route tracking, statistics, history storage
● Charging history: plug/unplug detection, session stats, history storage
● Video management: monitor and upload car videos, remote download support
● Background operation: foreground service + daemon-based system access
2) Two-layer architecture (App + privileged Daemon) to access protected
BYD APIs
BYD blocks sensitive APIs unless you have system privileges. The solution is a dual-layer
architecture:
● Daemon (Shell process, UID 2000) runs via app_process with system-level access
● App (regular user process) handles UI, logic, Firebase, managers
● Communication between them is via AIDL/Binder, and the daemon shares the
binder via broadcast
Daemon responsibilities
● Access BYD SDK and protected framework APIs
● Execute control commands (doors, AC, etc.)
● Provide an AIDL service (IShellService) for the app
● Monitor/restart the app if needed
● Poll vehicle data periodically and push updates
CoreService responsibilities
● Foreground service that manages all manager
Android developer having proven experience in Java, Kotlin, Native C.
Must have deep knowledge of Daemon, ADB lib and JNI libraries
Proven experience of WebRTC
Knowledge about Firebase.
Past work with car related video streaming apps