Проектом Waydroid подготовлен инструментарий, позволяющий сформировать в обычном Linux-дистрибутиве изолированное окружение для загрузки полного системного образа платформы Android и организовать запуск с его помощью Android-приложений. Код предлагаемого проектом инструментария написан на языке Python и поставляется под лицензией GPLv3. Готовые пакеты формируются для Ubuntu 20.04/21.04, Debian 11, Droidian и Ubports.
Окружение формируется при помощи штатных технологий для создания изолированных контейнеров, таких как пространства имён для процессов, идентификаторов пользователей, сетевой подсистемы и точек монтирования. Для управления контейнером задействован инструментарий LXC. Для работы Android поверх обычного ядра Linux загружаются модули “binder_linux” и “ashmem_linux”.
Окружение рассчитано на работу с сеансом на базе протокола Wayland. В отличие от похожего окружения Anbox, платформе Android предоставляется прямой доступ к оборудованию, без дополнительных прослоек. Предложенный для установки системный образ Android основан на сборках от проекта LineageOS и Android 10.
Особенности Waydroid:
- Интеграция с рабочим столом – приложения для Android могут запускаться бок о бок с родными приложениями для Linux.
- Поддерживается размещение ярлыков на Android-приложения в штатном меню и показ программ в обзорном режиме.
- Поддержка запуска Android-приложений в многооконном режиме и стилизация окон под базовое оформление рабочего стола.
- Для Android-игр предоставлена возможность запуска приложений в полноэкранном режиме.
- Доступен режим для показа штатного интерфейса Android.
- Для установки Android-программ в графическом режиме можно использовать приложение F-Droid или интерфейс командной строки (“waydroid app install 123.apk”). Google Play не поддерживается из-за привязки к проприетарным Android-сервисам Google.