Software Architecture
This section describes the context logical structure and modules (including module functions) of the
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 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), sensor emulation, GPS emulation, IMEI mock, Gralloc (off-screen rendering), HWC (image composition), 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.
