Software Architecture
Figure 1 shows the Kbox cloud phone container architecture.
Android container: The closed-source component Kbox and the AOSP are used to enable basic cloud phones running Android in containers.
Kbox implements hardware emulation (including vinput, sensors, GPS, and IMEI/Wi-Fi mock) and GPU device passthrough, enabling the Android cloud phone container solution. Kbox consists of binary deliverables and demos.
- Binary deliverables include vinput (touchscreen input module), sensors (sensor emulation), GPS (GPS emulation), IMEI/Wi-Fi mock, Gralloc (off-screen rendering), and HWC (image synthesis).
- Demos (including MediaFramework, Vold, adbd, Init, and netd) provide patches based on open source code of the Android system.
Docker: The open source Docker software is used to provide a software operating environment for the Android system.
Operating system: Open-source Ubuntu or openEuler can be used as the Docker host OS. The integrated GPU kernel driver is shared by upper-layer container instances and drives GPUs to complete rendering. The ashmem/binder driver provides basic memory management functions for Android containers.
Hardware environment: The ARM server provides hardware for cloud phones, including GPUs, memory, and drives.
