В повседневной жизни люди сталкиваются с ситуациями, когда им требуется запустить android на настольных компьютерах. Существует множество способов запуска приложений android на компьютере с популярными эмуляторами, такими как Bluestacks, вы также можете запустить android на виртуальной машине и т.д.
Среди этих многочисленных способов есть Anbox – решение для запуска приложений android на системах на базе Linux, но сейчас он не так хорош, так как страдает от низкой производительности на маломощных устройствах.
Теперь есть проект, который полностью решает эту проблему медленной производительности и неработоспособности Anbox. Этот проект называется WayDroid, ранее называвшийся Anbox-Halium, который представляет собой переработку Anbox, предназначенную для использования большего количества аппаратных средств родного хоста, что приводит к более высокой производительности по сравнению с Anbox.
WayDroid использует настроенный образ системы Android, основанный на LineageOS. Это обеспечивает актуальную версию Android и позволяет разработчикам добавлять свои собственные твики с большим количеством приложений, доступных для них. WayDroid имеет следующие особенности:
- Интеграция с рабочим столом – позволяет запускать приложения Android бок о бок с родными приложениями хоста.
- Поддерживает многооконный режим при запуске приложений android
- Поддерживает ярлыки для приложений android в стандартном меню хоста
- Поддерживает запуск приложений android в полноэкранном режиме, таких как игры android и т.д.
- Используется родное ядро хоста, благодаря чему приложения android запускаются без проблем.
Как запустить операционную систему Android на системе Linux с помощью Waydroid.
Шаг 1: Установка необходимых зависимостей
Начнем с обновления индекса пакетов системы.
sudo apt update
Затем установите необходимые зависимости, т.е. Pyhton3, менеджер сессий Wayland, curl и LXC на нашу систему Ubuntu/Debian, как показано ниже.
Для Ubuntu
sudo apt install python3 lxc curl gnome-session-wayland
Для Debian
sudo apt install python3 lxc curl vim
Затем включите Wayland на драйверах Nvidia в Ubuntu/Debian, как показано ниже.
sudo vim /lib/udev/rules.d/61-gdm.rules
Найдите и закомментируйте (#) все строки, как показано ниже.
# ATTR{vendor}=="0x19e5", ATTR{device}=="0x1711", RUN+="/usr/lib/gdm3/gdm-disable-wayland" ........
# DRIVER=="nvidia", RUN+="/usr/lib/gdm3/gdm-disable-wayland"
Также в файле gdm3 conf включите рабочий стол Wayland, как показано ниже.
На Ubuntu
sudo vim /etc/gdm3/custom.conf
На Debian
sudo vim /etc/gdm3/daemon.conf
В файле убедитесь, что строка ниже закомментирована.
#WaylandEnable=false
Шаг 2: Включите Wayland в Gnome
Установите сессию Gnome на Wayland, отключив сессии Gnome x11, как показано ниже.
sudo mv /usr/share/xsessions/gnome.desktop /usr/share/xsessions/gnome.desktop.disbaled
Затем необходимо выйти из системы и войти в рабочий стол Gnome или Ubuntu Wayland, нажав на шестеренку.
Просмотрите другие доступные сессии Wayland, как показано ниже:
ls /usr/share/wayland-sessions
gnome.desktop ubuntu-wayland.desktop
Затем проверьте тип сессии, как показано ниже. Теперь он должен быть установлен на Wayland.
echo $XDG_SESSION_TYPE
wayland
Шаг 3: Установка Waydroid в системе Linux
Прежде чем мы установим WayDroid на нашу систему Linux, нам нужно добавить репозитории в нашу систему. Не забудьте заменить Disro=”focal” на вашу целевую ОС, например, bullseye, hirsute, buster e.t.c.
Для ubuntu 20.04 LTS (focal)
export DISTRO="focal" && \
sudo curl https://repo.waydro.id/waydroid.gpg --output /usr/share/keyrings/waydroid.gpg && \
echo "deb [signed-by=/usr/share/keyrings/waydroid.gpg] https://repo.waydro.id/ $DISTRO main" > ~/waydroid.list && \
sudo mv ~/waydroid.list /etc/apt/sources.list.d/waydroid.list && \
sudo apt update
Для Debian 11 (bullseye)
export DISTRO="bullseye" && \
sudo curl https://repo.waydro.id/waydroid.gpg --output /usr/share/keyrings/waydroid.gpg && \
echo "deb [signed-by=/usr/share/keyrings/waydroid.gpg] https://repo.waydro.id/ $DISTRO main" > ~/waydroid.list && \
sudo mv ~/waydroid.list /etc/apt/sources.list.d/waydroid.list && \
sudo apt update
После того как репозиторий добавлен в вашу систему, теперь установите WayDroid на Ubuntu|Debian с помощью команды:
sudo apt install waydroid
Запустите процесс Waydroid init, как показано ниже.
sudo waydroid init
В случае, если процесс завершится неудачно из-за отсутствия узлов устройств, расположенных в /dev, вам потребуется создать и смонтировать их, как показано ниже
sudo mkdir /dev/binderfs
sudo mount -t binder binder /dev/binderfs
sudo mkdir /dev/hwbinder
sudo mount -t binder binder /dev/hwbinder
sudo mkdir /dev/vndbinder
sudo mount -t binder binder /dev/vndbinder
Затем повторно выполните команду ниже:
sudo waydroid init
Образец вывода:
[13:41:42] Download https://sourceforge.net/projects/waydroid/files/images/system/lineage/waydroid_x86_64/lineage-17.1-20210928-VANILLA-waydroid_x86_64-system.zip/download
[13:48:20] Validating system image
[13:48:24] Extracting to /var/lib/waydroid/images
[13:49:52] Download https://sourceforge.net/projects/waydroid/files/images/vendor/waydroid_x86_64/lineage-17.1-20210928-MAINLINE-waydroid_x86_64-vendor.zip/download
[13:51:35] Validating vendor image
[13:51:36] Extracting to /var/lib/waydroid/images
Шаг 4: Запуск и использование WayDroid в Linux
Теперь, когда Waydroid установлен на вашей системе Debian/Ubuntu, запустите службу контейнера WayDroid, как показано ниже
sudo systemctl start waydroid-container
В качестве альтернативы, вы можете запустить Waydroid вручную без systemctl, используя следующую команду:
Запустите контейнер вручную
sudo waydroid container start
Затем запустите сессию wayDroid.
waydroid session start
После запуска сеанса вы должны увидеть следующие результаты:
[14:16:32] Android with user 0 is ready .........
Находясь здесь, можно запустить приложение из меню приложений, как показано ниже.
Вы можете продолжить и запустить приложение WayDroid в полном режиме. Не забудьте выполнить команды без sudo.
waydroid show-full-ui
В этот момент Waydroid должен работать без сбоев и отображаться в полном режиме, как показано ниже.
Запускайте приложения, проводя вверх с помощью мыши:
Вы можете продолжить и установить желаемые приложения (apk-файлы), загрузив их через браузер. Затем разрешите установку, как показано ниже. Или же вы можете скачать файл .apk себе на компьютер linux, а затем ввести в терминале простую команду чтобы установить приложение
waydroid app install xyz.apk
Например, вы можете скачать магазин приложений F-Droid, и установить его
После установки ваши новые приложения должны появиться, как показано ниже.
Вы также можете запустить Wayroid в многооконном режиме с помощью команды:
waydroid prop set persist.waydroid.multi_windows true
После этого необходимо перезапустить контейнер, как показано ниже.
sudo systemctl restart waydroid-container
Шаг 5: Как переустановить Waydroid
В случае, если вы ошиблись при установке Waydroid и хотите переустановить его, выполните следующие шаги.
Сначала остановите сессию Waydroid и контейнер.
waydroid session stop
sudo waydroid container stop
Затем удалите Waydroid, как показано ниже:
sudo apt remove waydroid
Затем вам нужно будет перезагрузить устройство и выполнить небольшую очистку, как показано ниже.
sudo rm -rf /var/lib/waydroid /home/.waydroid ~/waydroid ~/.share/waydroid
Затем переустановите Waydroid, как показано ниже.
sudo apt install waydroid
sudo waydroid init
Вот и все! Мы успешно установили Waydroid на нашу систему Linux, теперь вы можете легко запускать приложения android на вашем рабочем столе Linux. Надеюсь, вам понравилось.