Waydroid: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
 
(не показано 11 промежуточных версий 2 участников)
Строка 1: Строка 1:
{{Stub}}
Запуск приложений Android на Альте.
Запуск приложений Android на Альте.


Строка 15: Строка 13:
= Установка =
= Установка =


{{Attention|Инструкция написана при эксплуатации пакетов, проходящих тестирование}}
{{Attention|Ядерные модули anbox для Waydroid поддерживают только ядро un-def в p10}}
{{Attention|Ядерные модули anbox для Waydroid поддерживают только ядро un-def в p10}}


Строка 21: Строка 18:
  update-kernel -t un-def
  update-kernel -t un-def


2. Устанавливаем из тестового задания ядерный модуль и пакет {{pkg|waydroid}}:
2. Устанавливаем ядерный модуль anbox, библиотеку binder и пакет {{pkg|waydroid}}:
  apt-repo test 321508 waydroid kernel-modules-anbox-un-def
  apt-get install kernel-source-anbox kernel-modules-anbox-un-def libgbinder1 waydroid


3. Перезагружаемся c новым ядром.
3. Перезагружаемся c новым ядром.
Строка 41: Строка 38:
= Wayland =
= Wayland =


Под сеансе под Xorg Waydroid не работает, появляется предупреждение: <syntaxhighlight lang="text">[13:50:51] WAYLAND_DISPLAY is not set, defaulting to "wayland-0"
В сеансе под Xorg Waydroid не работает, появляется предупреждение: <syntaxhighlight lang="text">[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?</syntaxhighlight>
[13:50:51] Wayland socket '/run/user/500/wayland-0' doesn't exist; are you running a Wayland compositor?</syntaxhighlight>


Вы можете запустить сеансы KDE (Wayland) или GNOME. В качестве простой среды на Wayland установите пакет {{pkg|weston}} и выберите сеанс Weston.
Вы можете запустить сеансы KDE (Wayland) или GNOME.
<br>
Или в качестве простой среды на Wayland установите пакет {{pkg|weston}} и выберите сеанс Weston.


= Запуск сеанса =
= Запуск сеанса =
Строка 55: Строка 54:


  waydroid show-full-ui
  waydroid show-full-ui
Будет открыто окно Android:
[[Изображение:Waydroid-session.png]]
= Установка приложений в Waydroid =
==Установка .apk с веб-сайтов==
Запускаем браузер по значку:
<br>
[[Файл:Browser waydroid.png|мини]]
<br>
Зайдем на офф сайт разработчика или доверенного мобильного портала, например 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"
<br>
[[Файл:Allow install.jpg|400px]]
<br>
Отвечаем - '''Install'''. По итогу запускаем приложение. '''Open'''.
==Установка приложений из f-droid==
Через браузер заходим на сайт f-droid https://f-droid.org
<br>
F-Droid - это каталог приложений FOSS (Free and Open Source Software - свободное программное обеспечение с открытым исходным кодом) для платформы Android. F-Droid упрощает просмотр, установку и отслеживание обновлений на вашем устройстве.
<br>
Скачиваем f-droid.apk запускаем и устанавливаем, по аналогии с пунктом инструкции 5.1.
При запуске будет выполнено обновление, дожидаемся.
Теперь можно устанавливать ПО из магазина приложений.
<br>
Есть кнопка поиска по названию. [[Изображение:F-droid apps.jpg|900px]]
==Установка приложений из google play market==
Останавливаем текущий контейнер, если он ранее был запущен командой:
<syntaxhighlight lang="text" highlight="1">#systemctl stop --now waydroid-container</syntaxhighlight>
Инициализируем контейнер для google apps и дожидаемся загрузки командой:
<syntaxhighlight lang="text" highlight="1">#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</syntaxhighlight>
Запускаем контейнер:
<syntaxhighlight lang="text" highlight="1">#systemctl enable --now waydroid-container</syntaxhighlight>
Устанавливаем сертификаты для работы с Google сервисами:
<br>
1. Запускаем команды ниже в оболочке waydroid
<syntaxhighlight lang="text" highlight="1">#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\";"</syntaxhighlight>
2. Зарегистрируем идентификатор устройства на сайте:
https://www.google.com/android/uncertified/
Для этого выполняем:
<syntaxhighlight lang="text" highlight="1">#waydroid shell
#sqlite3 /data/*/*/*/gservices.db "select * from main where name = \"android_id\";"</syntaxhighlight>
вставляем полученный id
в форму «Идентификатор Google Services Fram...»
отвечаем «Я не робот» и жмем «Регистрация»
<br>
[[Файл:Activate waydroid in google apps.jpg|900px]]
<br>
3. Перезапускаем сессию
<syntaxhighlight lang="text" highlight="1">$waydroid session stop
$waydroid session start</syntaxhighlight>
Теперь при запуске
<syntaxhighlight lang="text" highlight="1">$waydroid show-full-ui</syntaxhighlight>
в списке приложений будет доступен play store.
Останется только войти под аккаунтом @gmail.com и можно устанавливать приложения из магазина.
<br>
[[Файл:Waydroid play market.jpg|900px]]
==Ориентация экрана при запуске приложений==
Может возникнуть проблема при запуске приложений в полноэкранном режиме, что изображение перевернуто на 180 градусов и курсор двигается с инверсией.
Для решения проблемы можно ввести команду:
<syntaxhighlight lang="text" highlight="1">#waydroid shell wm set-fix-to-user-rotation enabled</syntaxhighlight>


= Ссылки =
= Ссылки =

Текущая версия от 13:57, 29 июня 2023

Запуск приложений 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

Установка

Внимание! Ядерные модули anbox для Waydroid поддерживают только ядро un-def в p10


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

Будет открыто окно Android: Waydroid-session.png

Установка приложений в Waydroid

Установка .apk с веб-сайтов

Запускаем браузер по значку:

Browser waydroid.png


Зайдем на офф сайт разработчика или доверенного мобильного портала, например 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"
Allow install.jpg
Отвечаем - 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. При запуске будет выполнено обновление, дожидаемся. Теперь можно устанавливать ПО из магазина приложений.
Есть кнопка поиска по названию. F-droid apps.jpg

Установка приложений из 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...» отвечаем «Я не робот» и жмем «Регистрация»
Activate waydroid in google apps.jpg
3. Перезапускаем сессию

$waydroid session stop
$waydroid session start

Теперь при запуске

$waydroid show-full-ui

в списке приложений будет доступен play store. Останется только войти под аккаунтом @gmail.com и можно устанавливать приложения из магазина.
Waydroid play market.jpg

Ориентация экрана при запуске приложений

Может возникнуть проблема при запуске приложений в полноэкранном режиме, что изображение перевернуто на 180 градусов и курсор двигается с инверсией. Для решения проблемы можно ввести команду:

#waydroid shell wm set-fix-to-user-rotation enabled

Ссылки