Проект Anbox развивает окружение для запуска Android-приложений в дистрибутивах Linux
Anbox использует пространства имён ядра Linux (user, pid, uts, et, mount, ipc) для создания изолированного контейнера с компонентами Android. Android не имеет прямого доступа к оборудованию - всё взаимодействие производится только через специальную прослойку, которой управляет фоновый процесс anbox, запускаемый на стороне хоста. Прослойка использует те же методы работы с оборудованием и внешним миром, что и официальный эмулятор Android, основанный на QEMU.
Поддержка отрисовки обеспечивается при помощи трансляции предоставляемого в Android API OpenGL ES в штатный API OpenGL основной системы. Благодаря использованию контейнеров без виртуализации и предоставляемого хост-системой OpenGL, удалось добиться достаточно высокой производительности Android-окружения, которая заметно выше, чем производительность конкурирующих проектов Shashlik и Genymobile, использующих эмуляцию.
Для развёртывания окружения требуется загрузка дополнительных модулей ядра, обеспечивающих работу подсистем binder и ashmem, а также настройка udev и создание специального пользовательского сеанса. Для автоматизации настройки и установки подготовлен самодостаточный пакет в формате Snap, что позволяет свести установку к выполнению команды "snap install --classic anbox-installer". Для пользователей без Snap подготовлен установочный shell-скрипт. При желании можно собрать собственное Android-окружение на основе любой версии из AOSP.
Для запуска имеющихся Android-программ предложен специальный менеджер приложений. Непосредственно Android-приложения запускаются в отдельных окнах, сосуществующих с окнами обычных Linux-программ. Для установки дополнительных приложений пока поддерживается только adb ("adb install path/to/my-app.apk"), так как официальная поставка Google Play требует сертификации и подписания соглашения с Google.
Источник: http://www.opennet.ru/opennews/art.shtml?num=46369
|
0 | Tweet | Нравится |
|