1 Star 1 Fork 61

RT.X / anbox

forked from openEuler / anbox 
加入 Gitee
与超过 600 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
runtime-setup.md 1.51 KB
一键复制 编辑 Web IDE 原始数据 按行查看 历史


The Anbox runtime consists mainly of two separate instances:

  • container manager
  • session manager

The container manager has the job of managing the container setup and maintenance during its lifetime. It has the responsibility to start the LXC environment we're using to run the Android system.

The session manager runs inside the session of a user logged into the Linux system. It will communicate over several sockets with the Android instance running inside the container and provide integration with the Linux system. It also acts as a multiplexer to map Android applications into single windows on the desktop environment. Currently all application windows are owned by the same process (the session manager). The application logic itself is still in a separate process inside the Android container.

The following picture shows an overview over the architecture:

Anbox architecture

Application Mapping

Android applications are mapped into single windows within the desktop environment. This is achieved by plugging into the Android hwcomposer HAL module which receives a set of layers to composite on a screen. Anbox tells SurfaceFlinger through its hwcomposer implementation to get a layer for each application and combines this with additional information it receives from the Android WindowManager to map individual layers to applications. For more details please look into the implementation at

  • android/hwcomposer
  • src/anbox/graphics/layer_composer.cpp
  • src/anbox/wm/manager.cpp


105716 1d94204e 1850385 105716 2d26be5c 1850385