Представлен проект Anbox, в рамках которого развивается окружение, позволяющее запустить полноценную мобильную среду Android в обычном дистрибутиве Linux, тесно интегрированную с основным рабочим столом. Проект развивается уже полтора года и в настоящее время готов для предварительного тестирования. Официально пока поддерживается только установка в Ubuntu Linux. Android-окружение построено на базе Android 7.1.1 из репозитория AOSP (Android Open Source Project). Наработки Anbox распространяются под лицензией GPLv3.

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