Waydroid
Запуск приложений Android на Альте.
Сайт: https://waydro.id/
Параметры ядра
Добавьте psi=1 в строку GRUB_CMDLINE_LINUX_DEFAULT в файле /etc/sysconfig/grub2. Например:
GRUB_CMDLINE_LINUX_DEFAULT=' quiet resume=/dev/disk/by-uuid/26fa2b6f-de49-4388-a962-e39e4e956a95 panic=30 splash psi=1'
И выполните
update-grub
Установка
1. Под правами root обновляем ядро un-def:
update-kernel -t un-def
2. Устанавливаем ядерный модуль anbox, библиотеку binder и пакет waydroid:
apt-get install kernel-source-anbox kernel-modules-anbox-un-def libgbinder1 waydroid
3. Перезагружаемся c новым ядром.
4. Загружаем контейнер Waydroid:
# waydroid init
[13:39:19] x86_64 CPU does not support SSE4.2, falling back to x86...
[13:39:21] Downloading https://sourceforge.net/projects/waydroid/files/images/system/lineage/waydroid_x86/lineage-18.1-20230422-VANILLA-waydroid_x86-system.zip/download
[Downloading] 606.27 MB/606.46 MB 25110.97 kbps(approx.)[13:39:51] Validating system image
[13:39:54] Extracting to /var/lib/waydroid/images
[13:40:13] Downloading https://sourceforge.net/projects/waydroid/files/images/vendor/waydroid_x86/lineage-18.1-20230422-MAINLINE-waydroid_x86-vendor.zip/download
[Downloading] 92.14 MB/92.24 MB 1473.69 kbps(approx.)[13:40:24] Validating vendor image
[13:40:24] Extracting to /var/lib/waydroid/images
5. Запускаем службу waydroid-container:
systemctl enable --now waydroid-container
Wayland
В сеансе под Xorg Waydroid не работает, появляется предупреждение:
[13:50:51] WAYLAND_DISPLAY is not set, defaulting to "wayland-0"
[13:50:51] Wayland socket '/run/user/500/wayland-0' doesn't exist; are you running a Wayland compositor?
Вы можете запустить сеансы KDE (Wayland) или GNOME.
Или в качестве простой среды на Wayland установите пакет weston и выберите сеанс Weston.
Запуск сеанса
В запущенной графической среде Wayland под пользователем выполните:
waydroid session start
после этого можно запускать саму среду (в отдельном терминале):
waydroid show-full-ui
Установка приложений в Waydroid
Установка .apk с веб-сайтов
Запускаем браузер по значку:
Зайдем на офф сайт разработчика или доверенного мобильного портала, например 4pda.ru.
Загрузим .apk файл
Жмем Download.
По умолчанию загруженные файлы попадают в каталог: sdcard/Download.
Запускаем скаченный файл
На сообщение "For your security, your phone is not allowed to install unknown apps from this source"
заходим в Settings и включаем настройку "Allow from this source"
Отвечаем - Install. По итогу запускаем приложение. Open.
Установка приложений из f-droid
Через браузер заходим на сайт f-droid https://f-droid.org
F-Droid - это каталог приложений FOSS (Free and Open Source Software - свободное программное обеспечение с открытым исходным кодом) для платформы Android. F-Droid упрощает просмотр, установку и отслеживание обновлений на вашем устройстве.
Скачиваем f-droid.apk запускаем и устанавливаем, по аналогии с пунктом инструкции 5.1.
При запуске будет выполнено обновление, дожидаемся.
Теперь можно устанавливать ПО из магазина приложений.
Есть кнопка поиска по названию.
Установка приложений из google play market
Останавливаем текущий контейнер, если он ранее был запущен командой:
#systemctl stop --now waydroid-container
Инициализируем контейнер для google apps и дожидаемся загрузки командой:
#waydroid init -s GAPPS -f
[12:42:48] Downloading
https://sourceforge.net/projects/waydroid/files/images/system/li
neage/waydroid_x86_64/l
ineage-18.1-20230422-GAPPS-waydroid_x86_64-system.zip/download
[Downloading] 858.98 MB/858.98 MB 4273.36 kbps(approx.)
[12:47:47] Validating system image
[12:47:49] Extracting to /var/lib/waydroid/images
Запускаем контейнер:
#systemctl enable --now waydroid-container
Устанавливаем сертификаты для работы с Google сервисами:
1. Запускаем команды ниже в оболочке waydroid
#waydroid shell
#ANDROID_RUNTIME_ROOT=/apex/com.android.runtime ANDROID_DATA=/data #ANDROID_TZDATA_ROOT=/apex/com.android.tzdata #ANDROID_I18N_ROOT=/apex/com.android.i18n
#sqlite3 /data/data/com.google.android.gsf/databases/gservices.db "select * from main where name = \"android_id\";"
2. Зарегистрируем идентификатор устройства на сайте: https://www.google.com/android/uncertified/ Для этого выполняем:
#waydroid shell
#sqlite3 /data/*/*/*/gservices.db "select * from main where name = \"android_id\";"
вставляем полученный id
в форму «Идентификатор Google Services Fram...»
отвечаем «Я не робот» и жмем «Регистрация»
3. Перезапускаем сессию
$waydroid session stop
$waydroid session start
Теперь при запуске
$waydroid show-full-ui
в списке приложений будет доступен play store.
Останется только войти под аккаунтом @gmail.com и можно устанавливать приложения из магазина.
Ориентация экрана при запуске приложений
Может возникнуть проблема при запуске приложений в полноэкранном режиме, что изображение перевернуто на 180 градусов и курсор двигается с инверсией. Для решения проблемы можно ввести команду:
#waydroid shell wm set-fix-to-user-rotation enabled
Ссылки
- Документация по Waydroid (на английском языке): https://docs.waydro.id/
- Статья про настройку Waydroid на Arch Wiki (на английском языке): https://wiki.archlinux.org/title/Waydroid