Головна » Запуск Android програм в Linux за допомогою Waydroid

Запуск Android програм в Linux за допомогою Waydroid

За останні роки підтримка запуску Android програм в Linux значно покращилась. В основному це стало можливо завдяки використанню Wayland та контейнеризації. Тепер ви можете запускати такі програми без емулятора, використовуючи ядро Linux з вашої системи та прошарок сумісності Waydroid.

В цій статті ми розглянемо як встановити та налаштувати Waydroid, а також як запускати Android програми в Linux за допомогою цього інструменту. При чому розглянемо не лише запуск x86 програм, але і arm64, які призначені для телефонів а також встановлення Google Play.


Зміст

Чому Waydroid?

На даний момент є декілька способів запуску Android програм в Linux. По-перше, можна скористатись емулятором Genymotion, який має пропрієтарну ліцензію і безкоштовний тільки для персонального використання. По друге, для розробників є емулятор Android в Android Studio. Крім того, раніше існував проект Anbox, який дозволяв запускати Android додатки в контейнері.

Зараз на заміну Anbox прийшов Waydroid який використовує LXC контейнери і робить використання Android програм майже таким самим зручним як і звичайних программ Linux. Оскільки, Android програма використовує те ж саме ядро, що і ваша операційна система, все працює дуже швидко. Раніше ця стаття була про Genymotion та Anbox, але зараз ми зосередимось лише на Waydroid.

Установка Waydroid в Ubuntu або Fedora

Встановити саму програму досить просто. На офіційному сайті є інструкція для багатьох популярних і не дуже дистрибутивів. В деяких дистрибутивах Waydroid є в офіційних репозиторіях, в деяких, треба додати сторонні. В Ubuntu потрібно додати PPA. Для цього можна скористатись скріптом:

sudo apt install curl ca-certificates -y curl -s https://repo.waydro.id | sudo bash

Потім виконайте таку команду для встановлення самого пакету:

sudo apt install waydroid -y

В Fedora програму можна встановити з офіційних репозиторіїв:

sudo dnf install waydroid

Але це ще не все. Після того як програма встановиться, необхідно ініціалізувати середовище Android. Для цього запустіть Waydroid з головного меню, а потім виберіть варіант системи, який ви хочете встановити. Можна встановити мінімальний варіант, або Android з GApps. Варіант GApps поставляється з гугл сервісами та Play маркетом, з якого можна встановлювати програми:

Залежно від швидкості вашого інтернету та навантаження на сервер завантаження може тривати довго. Потрібно завантажити близько 1,5 гігабайт даних. Після завершення завантаження натисніть кнопку Done:

Після цього середовище Android запуститься автоматично. Або ви можете закрити програму та запустити Android з терміналу, як описано нижче.

Запуск середовища Android в Waydroid

Waydroid може працювати в повноекранному режимі. Таким чином ви отримаєте повноцінне Android середовище. Крім того можна запускати окремі програми, котрі будуть відкриватись в вигляді вікон на вашому робочому столі. Давайте спочатку запустимо Waydroid зразу в повноекранному режимі щоб все налаштувати. Для цього виконайте наступну команду:

waydroid show-full-ui

Хоч програма виглядає як повноекранне вікно, ви можете його переміщувати. Для цього затисніть кнопку Super, захопіть вікно лівою кнопкою миші, а потім перетягуйте його куди потрібно.

В самому середовищі жест зверху вниз відкриває шторку, де є налаштування Android та сповіщення:

А жест знизу вверх відкриває меню программ:

Закрити шторку або меню можна закрити натисканням клавіші Esc, оскільки користуватись жестами тут може бути не зручно.

Налаштування Waydroid

Встановлення Waydroid завершено, тепер можна перейти до його налаштування. Зверніть увагу, що всі команди, написані нижче потрібно виконувати не в Android серещовищі, а на хост системі.

Крок 1. Реєстрація пристрою в Google

Зразу після першого завантаження ви отримаєте сповіщення про те що пристрій не сертифікований для використання з Google Play:

Для того щоб його прибрати, необхідно додати цей пристрій в вашому аккаунті Google. Спочатку виконайте таку команду щоб отримати ідентифікатор пристрою:

sudo waydroid shell -- sh -c "sqlite3 /data/data/*/*/gservices.db 'select value from main where name = \"android_id\";'"

Потім відкрийте це посилання і введіть там ідентифікатор, який показала попередня команда. Після цього треба почекати 5-10 хвилин та перезапустити сессію Waydroid.

Крок 2. Перезапуск Waydroid

Для того щоб зупинити Waydroid натисніть Ctrl+C в терміналі де запущена команда show-full-ui, або виконайте кноманду:

waydroid session stop

Для запуску Android середовища, знову виконайте:

waydroid show-full-ui

Крок 3. Майстер налаштування Android

Після успішної реєстрації пристрою ви можете пройти майстер першого налаштування Android та авторизуватись Google Play, щоб мати можливість встановлювати звідти програми.

Тут все зводиться до того що потрібно ввести свій логін та пароль, підтвердити на іншому пристрої, а від всього іншого відмовитись. Після цього можна відкрити Google Play з головного меню Android та спробувати звідти щось встановити:

Але зверніть увагу, що зараз ви можете встановити тільки програми доступні для Android x86. З запуском ARM програм ми розберемось трохи пізніше.

Крок 4. Вимкнення екранної клавіатури

Оскільки це Android, то за замовчуванням коли ви вибираєте поле вводу, буде відкриватись екранна клавіатура. На ПК це дуже не зручно. Для того щоб її вимкнути відкрийте Settings > System > Languages & input > Physical keyboard та вимкніть пункт Use on-screen keyboard:

Крок 5. Мультивіконний режим

За замовчуванням, ви будете бачити всі вікна Android програм як на телефоні, вони займатимуть весь екран. Можна ввімкнути мультивіконний режим для того щоб відкривати декілька вікон одночасно. Для цього виконайте таку команду:

waydroid prop set persist.waydroid.multi_windows true

Далі перезапустіть Waydroid, і тепер вікна програм будуть виглядати ось так:

Крок 6. Встановлення Waydroid Script

Для того, щоб подальші налаштування було робити простіше нам знадобиться програма waydroid_script. Це набір сценаріїв, написаних на Python, які дозволяють встановлювати та видаляти програми в контейнер Waydroid. Для його встановлення, вам знадобиться git та lzip:

sudo apt install git lzip

Тепер склонуйте репозиторій в будь-яку папку:

git clone https://github.com/casualsnek/waydroid_script

Перейдіть в папку з сріптом та встановіть залежності:

cd waydroid_script python3 -m venv venv venv/bin/pip install -r requirements.txt

Скріпт готовий до використання. Звісно, ви можете робити все вручну. Але зі скріптом налаштування Waydroid буде простіше.

Крок 7. Додавання підтримки ARM

Зараз ви можете встановлювати в Waydroid лише x86 програми. Будь-то з Google Play чи з інших джерел. Для того щоб додати підтримку запуску ARM программ, потрібно встановити бібліотеку libhoudini.

Для цього можна скористатись waydroid_script. Перейдіть в папку з скріптом та виконайте таку команду:

sudo venv/bin/python3 main.py install libhoudini

Після того як бібліотека встановиться, ви можете перезавантажити Waydroid та спробувати встановлювати ARM програми та ігри з Google Play. Тепер вони будуть доступні.

Якщо щось пішло не так, ви завжди можете видалити цю бібліотеку і спробувати встановити libndk:

sudo venv/bin/python3 main.py uninstall libhoudini sudo venv/bin/python3 main.py uninstall libndk

Бібліотека libndk повільніша, але зазвичай працює тоді, коли libhoudini не працює.

Запуск Android програм в Linux

Тепер Waydroid налаштований, і ми можемо перейти до встановлення та запуску Android застосунків в Linux. Ви можете встановлювати програми з APK файлу, з Google Play, з Aurora Store, F-Droid та за допомогою Obtainium. Я не буду розповідати детально про всі способи, але ось основні з них.

Встановлення програм з APK

Waydroid дозволяє дуже просто встановити будь-яку програму з APK. Наприклад, ви можете завантажити F-Droid в основній системі з офіційного сайту, а потім встановити його за допомогою наступної команди:

waydroid app install ~/Downloads/F-Droid.apk

Після цього можна вивести список всіх доступних программ командою:

waydroid app list

Або можна відфільтрувати тільки потрібні застосунки:

waydroid app list | grep f

Для запуску програми використовуйте команду launch, наприклад:

waydroid app launch org.fdroid.fdroid

Програма відкриється на робочому столі, наче вона встановлена в вашій системі. Також за замовчуванням Waydroid додає ярлики до головного меню, щоб ви могли запускати застосунки звідти. Ну і ви завжди можете відкрити інтерфейс середовища Android і знайти програму в меню:

Встановлення програм з F-Droid

На попередньому кроці ми розглянули як встановити F-Droid. Тепер ви можете запустити саму програму і почати встановлювати програми з репозиторію F-Droid. Наприклад, давайте встановимо файловий менеджер Material Files. Для цього наберіть назву програми в пошуку F-Droid:

Перейдіть на сторінку програми та натисніть кнопку Install:

Як і в звичайному Android, F-Droid потрібно буде дати дозвіл на встановлення невідомих програм з цього джерела. Для цього в вікні що з'явиться натисніть Settings:

А потім увімкніть параметр Allow from this source:

Після цього програма встановиться і ви зможете її запустити:

Данні користувачів та программ

Майже всі файли даних операційної системи Android, а тим більше файли встановлених программ знаходяться в вашій файловій системі. І ви можете перевірити що там відбувається а також копіювати туди файли щоб зробити їх доступними для програм. Данні користувача, такі як завантаження, картинки і т д, знаходяться в ~/.local/share/waydroid/data/media/0:

sudo ls ~/.local/share/waydroid/data/media/0

Данні программ, які в Android зазвичай приховані знаходяться в ~/.local/share/waydroid/data/data/. Наприклад:

sudo ls ~/.local/share/waydroid/data/data/org.fdroid.fdroid

Вирішення проблем

Не завантажуються образи Android

Така проблема може виникнути, якщо у вас нестабільний інтернет, а швидкість завантаження досить низька. Тоді з'єднання буде постійно розриватись і програма буде показувати помилку. Ви можете завантажити файли вручну, за допомогою curl та покласти їх в папку програми. Файли можна знайти на Sourceforge. Вам потрібно два файли: system та vendor. Ось команди для завантаження файлів, актуальні на момент написання статті:

curl -o system.zip https://sourceforge.net/projects/waydroid/files/images/system/lineage/waydroid_x86_64/lineage-20.0-20250809-GAPPS-waydroid_x86_64-system.zip/download curl -o vendor.zip https://sourceforge.net/projects/waydroid/files/images/vendor/waydroid_x86_64/lineage-20.0-20250809-MAINLINE-waydroid_x86_64-vendor.zip/download

Отримані файли потрібно розпакувати в /etc/waydroid/extra_images:

sudo mkdir -p /etc/waydroid-extra/images sudo unzip lineage-*-system.zip -d /etc/waydroid-extra/images sudo unzip lineage-*-vendor.zip -d /etc/waydroid-extra/images

А потім виконати наступну команду:

sudo waydroid init -f

Висновки

В цій статті ми розглянули як запускати Android програми в Linux за допомогою Waydroid. Як бачите це набагато зручніше ніж було раніше, а також ви можете отримати майже повноцінну операційну систему Android на базі LineageOS та використовувати там програми які працюють тільки в Android або запускати ігри.

Залиште свій Email, щоб отримувати анонси нових статей та корисну інформацію про Linux електронною поштою
Pеклама
Детальніше

Proton Drive - це хмарне сховище з наскрізним шифруванням від компанії яка створила Proton Mail, що може стати хорошою заміною для Google Диску. Ви отримуєте синхронізацію між пристроями, спільний доступ до файлів, онлайн редактор документів і навіть таблиць, а також зручні застосунки для всіх платформ, але з гарантією, що ваші дані залишаться виключно вашими і ніхто не буде тренувати на них AI. В безкоштовній версії доступно 5 Гб місця на диску з можливістю покупки додаткового простору. Детальніше

Залишити коментар