1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openeuler-anbox

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
runtime-setup.md 2.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 12.03.2025 02:26 7d0c095

Обзор

Среда выполнения Anbox состоит в основном из двух отдельных экземпляров:

  • менеджера контейнеров;
  • менеджера сессий.

Менеджер контейнеров отвечает за управление установкой и обслуживание контейнера на протяжении всего его жизненного цикла. Он отвечает за запуск окружения LXC, которое используется для запуска системы Android.

Менеджер сессий работает внутри сессии пользователя, входящего в систему Linux. Он будет взаимодействовать через несколько сокетов с экземпляром Android, работающим внутри контейнера, и обеспечивать интеграцию с системой Linux. Также он действует как мультиплексор для отображения приложений Android в отдельных окнах на рабочем столе. На данный момент все окна приложений принадлежат одному процессу (менеджеру сессий). Логика самого приложения всё ещё находится в отдельном процессе внутри контейнера Android.

Ниже приведено изображение архитектуры:

Архитектура Anbox

Отображение ПриложенийПриложения Android отображаются в виде отдельных окон на рабочем столе.

Это достигается путём внедрения в модуль Android hwcomposer HAL, который получает набор слоёв для композиции на экране. Anbox сообщает SurfaceFlinger через свою реализацию hwcomposer получить слой для каждого приложения и объединяет это с дополнительной информацией, которую он получает от Android WindowManager для отображения отдельных слоёв в виде приложений. Для получения более подробной информации обратитесь к реализации в* android/hwcomposer

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

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/openeuler-anbox.git
git@api.gitlife.ru:oschina-mirror/openeuler-anbox.git
oschina-mirror
openeuler-anbox
openeuler-anbox
master