Rate This Document
Findability
Accuracy
Completeness
Readability

Software Architecture

This section describes the context logical structure and modules (including module functions) of the Kbox cloud phone container.

Figure 1 shows the Kbox cloud phone container architecture.

Figure 1 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), 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.