Software Architecture
This section describes the context logical structure and modules (including module functions) of the Kbox cloud phone container.
Figure 1 shows the
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), HWC (image composition), Audio (audio module), and OMX (decoding module).
- Demos (including Media Framework, vold, adbd, init, and netd) provide patches (for reference) 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.
OS: Open-source openEuler is used as the Docker host OS. The integrated GPU kernel driver is shared by upper-layer container instances and drives GPUs to complete rendering. Ashmem and binder provide basic memory management functions for Android containers.
Hardware: The Arm server including GPUs, memory, and drives, is used as the hardware platform.
