Використання Waydroid для встановлення Android-додатків на Ubuntu Touch

  • Waydroid запускає повноцінну систему Android у контейнері Linux, інтегруючи програми Android з Ubuntu та Ubuntu Touch без використання потужних віртуальних машин.
  • На Ubuntu Touch пристрої Halium 9 або новіших версій постачаються з попередньо встановленим Waydroid, що дозволяє легко ініціалізувати його та керувати APK-файлами та магазинами, такими як F-Droid, з терміналу.
  • Сумісність не є повною: деякі програми (банківські послуги, сервіси з Play Integrity) можуть не працювати, а використання Waydroid збільшує споживання заряду батареї та потенційні конфлікти обладнання.
  • Екосистема спирається на вільні технології (LXC, простори імен, LineageOS, microG) та має активну спільноту, яка виправляє помилки та покращує інтеграцію з Ubuntu Touch.

Як використовувати Waydroid для встановлення Android-додатків на Ubuntu Touch

Якщо ви використовуєте Ubuntu Touch і хочете безперебійне встановлення та запуск Android-додатківВи, мабуть, вже чули про Waydroid. Ідея мати ваші улюблені програми для Android, вбудовані у ваш телефон або планшет Ubuntu, дуже спокуслива, але коли ви насправді спробуєте це зробити, починають виникати питання: вимоги, продуктивність, сумісність, споживання заряду батареї та як встановлювати APK-файли, не втрачаючи при цьому глузду.

У наступних рядках ви знайдете Повний посібник з розуміння та використання Waydroid на Ubuntu TouchУ цьому посібнику описано все: що власне являє собою цей інструмент, як він інтегрується з системою, його обмеження, а також як встановлювати та керувати додатками для Android (включно з магазинами, такими як F-Droid). Все пояснюється іспанською (Іспанія) доступною мовою, але без нехтування важливими технічними аспектами, які мають вирішальне значення.

Що таке Waydroid і як він працює на Ubuntu та Ubuntu Touch?

Коротко кажучи, Waydroid — це повноцінне середовище Android, що працює всередині контейнера LinuxЦе не класичний емулятор і не потужна віртуальна машина: це рівень сумісності, який інтегрує Android із системами GNU/Linux, такими як Ubuntu для робочого столу, Ubuntu Touch або похідні дистрибутиви (Debian, Droidian, UBports тощо).

Цей проєкт народився як еволюція Anbox-Halium, варіант Anbox, оптимізований для телефонів LinuxІдея полягала в тому, щоб набагато краще використати переваги власного обладнання хост-пристрою, зменшивши проміжні шари. Завдяки цьому, програми Android працюють з продуктивністю, набагато ближчою до власного обладнання, що призводить до меншої затримки та значно плавнішої роботи, ніж у традиційній віртуальній машині.

Щоб досягти цього, Waydroid спирається на стандартні контейнерні технології в Linux, особливо простори імен (user, pid, uts, net, mount, ipc). Ці простори імен дозволяють ізолювати процеси, користувачів, мережу та інші ресурси, завдяки чому Android, «укладений» у контейнер, функціонує як незалежна система, але використовує те саме ядро, що й решта дистрибутива.

Керування контейнерами здійснюється за допомогою LXC (Linux Containers) – дуже зрілий інструмент для керування контейнерними середовищамиНа це ядро ​​Linux завантажуються певні модулі, такі як binder_linux та ashmem_linuxякі необхідні для коректної роботи Android без потреби в окремому «спеціальному» ядре.

Що таке шар сумісності Lepton для Android?
Пов'язана стаття:
Що таке Lepton, рівень сумісності Valve для Android?

На практиці це означає, що Система Android, що працює всередині Waydroid, має досить прямий доступ до вашого обладнання.Графіка, сенсорне введення, аудіо тощо. Процесор не моделюється, а також не відтворюється все обладнання, як це робиться у звичайному емуляторі; натомість використовується безпосередньо власне ядро ​​Linux пристрою. Саме тому продуктивність набагато перевершує продуктивність традиційної віртуальної машини.

Образ системи Android, який використовує Waydroid, зазвичай базується на LineageOS, зазвичай на базі Android 10Це мінімалістичний, але повноцінний образ, адаптований для роботи всередині контейнера та пропонує саме те, що необхідно для запуску Android-додатків усіх видів.

У конкретному випадку Ubuntu Touch, Waydroid розроблений для робота над сесіями на основі протоколу WaylandЦе ключова вимога: інтеграція та спосіб відображення вікон Android та їх взаємодії з рештою середовища залежать від Wayland. На настільних комп'ютерах під керуванням Ubuntu застосовується та сама вимога: якщо ви не використовуєте Wayland, Waydroid просто не працюватиме належним чином.

Переваги Waydroid: майже нативна інтеграція Android-додатків

Одна з найбільших переваг Waydroid — це дуже природна інтеграція Android-додатків із середовищем робочого столу або сенсорним інтерфейсомВи не просто «відкриваєте мобільний телефон у мобільному телефоні»; програми для Android можуть досить прозоро співіснувати з рідними програмами для Linux.

Наприклад, ви можете мати ваш рідний браузер Ubuntu Touch відкритий одночасно з додатком для обміну повідомленнями або грою Androidі перемикатися між ними так само, як на звичайному смартфоні Android. Це паралельне співіснування є однією з ключових особливостей проєкту.

Waydroid також дозволяє це Ярлики програм Android відображаються у стандартному меню Ubuntu або списку програмВ Ubuntu Touch це означає, що після ініціалізації Waydroid ви побачите нові значки програм Android, змішані із системними програмами. Якщо вони не з’являться одразу, просто перезавантажте область видимості програм (проведіть пальцем униз від центру екрана та відпустіть), щоб оновити список.

Ще однією дуже цікавою особливістю є Запуск Android-додатків у багатовіконному режиміВікна адаптуються до візуального стилю вашого робочого столу, що особливо корисно на планшетах або пристроях, де ви шукаєте інтерфейс, ближчий до ПК. Ви можете змінювати розташування та розмір вікон Android поряд із вікнами рідних програм, що значно спрощує роботу.

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

Якщо ви віддаєте перевагу більш класичному досвіду, це також доступно. режим, у якому відображається повний інтерфейс AndroidТам у вас буде власний головний екран та панель програм, так само, як ви використовуєте телефон Android у своєму Ubuntu Touch, без обмеження лише окремими вікнами.

Технічні вимоги та підтримуване середовище

Waydroid для встановлення Android-додатків на Ubuntu Touch

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

Перша фундаментальна вимога — це використання Wayland як графічний протокол сеансуНа настільних системах, якщо ви завантажите Ubuntu під X11 та спробуєте запустити Waydroid, ви одразу зіткнетеся з проблемами. Для Ubuntu Touch та інших мобільних систем на базі Halium сеанс вже налаштовано на Wayland, тому ця частина вирішена "з коробки".

На настільних системах GNU/Linux також необхідно мати Встановлено Python 3Зазвичай це не проблема, оскільки практично всі сучасні дистрибутиви включають його за замовчуванням, але це залежність, яка потрібна інструментарію Waydroid для функціонування.

Ще один важливий компонент – це LXC, технологія контейнерів, що використовується WaydroidПерш ніж встановлювати Waydroid, наприклад, на настільну систему Ubuntu, вам потрібно переконатися, що LXC встановлено правильно. У типовій установці Ubuntu команда для цього буде приблизно такою:

sudo apt install lxc

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

Щодо розповсюдження, Waydroid пропонує репозиторії, підготовлені для різних версій Ubuntu та DebianНаприклад, існують пакети для Ubuntu 20.04 (focal), 21.04 (hirsute) та Debian 11, а також для похідних систем, таких як Droidian та UBports. Щоб додати репозиторій, спочатку визначте змінну з версією, отримайте ключ GPG та зареєструйте вихідний код.

export DISTRO="hirsute"
curl https://repo.waydro.id/waydroid.gpg > /usr/share/keyrings/waydroid.gpg && \
echo "deb [signed-by=/usr/share/keyrings/waydroid.gpg] https://repo.waydro.id/ $DISTRO main" > /etc/apt/sources.list.d/waydroid.list && \
sudo apt update

Завдяки доступності репозиторію, встановлення Ubuntu на настільний комп'ютер зводиться до простого sudo apt встановити waydroidЗвідти контейнер ініціалізується та запускається за допомогою кількох команд, таких як sudo waydroid init y sudo systemctl start waydroid-container.

В Ubuntu Touch ситуація дещо інша: Усі пристрої на базі Halium 9 або вище, починаючи з бази Focal, постачаються з попередньо встановленим Waydroid.Іншими словами, вам не потрібно вручну додавати репозиторії чи встановлювати додаткові пакети: просто ініціалізуйте його з терміналу, щоб він завантажив образ Android і був готовий до використання.

Waydroid на Ubuntu Touch: Базове налаштування

Якщо ваш телефон або планшет з Ubuntu Touch є відносно сучасним і базується на Halium 9 або новішої версії, це нормально Waydroid вже встановлений у системі та чекає на ваш перший запуск.Початкова активація виконується з оболонки на пристрої.

Щоб відкрити цю оболонку, у вас є кілька варіантів: Підключіться через ADB з вашого ПК, використовуйте SSH, якщо він увімкнено, або скористайтеся термінальним застосунком, що входить до комплекту Ubuntu Touch.Будь-який із цих методів надасть вам командний рядок, де ви можете вводити команди Waydroid.

Після відкриття оболонки ключовим кроком є ​​запуск команда ініціалізації:

waydroid init

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

Коли закінчите, просто Перезавантажте список програм Ubuntu Touch, щоб перевірити, чи з’являються значки програм Android.Якщо ви їх не бачите спочатку, проведіть пальцем униз від середини екрана в режимі перегляду програм і відпустіть, щоб оновити. Відтоді всі встановлені вами програми Android будуть додані до цього самого списку.

Встановлення та перезапуск Waydroid на робочому столі Ubuntu

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

sudo apt install waydroid

Ініціалізація контейнера Android потім виконується за допомогою:

sudo waydroid init

Як тільки зображення готове, вам потрібно Запустіть службу контейнерів використовуючи systemd:

sudo systemctl start waydroid-container

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

waydroid session stop
sudo waydroid container stop

Потім видаліть пакет за допомогою:

sudo apt remove waydroid

Нарешті, папку даних видаляють з контейнера, щоб залишити все чистим:

sudo rm -rf /var/lib/waydroid

Після цієї процедури ви можете Повторіть встановлення, переконавшись, що виконано всі попередні вимоги., починаючи з LXC, і запустіть знову sudo waydroid init та початок контейнерного обслуговування.

Посібник з веб-додатків для Ubuntu Touch: Розширте свій каталог додатків
Пов'язана стаття:
Android 14 проти Ubuntu Touch: реальна продуктивність на одному телефоні

Встановлення Android-додатків (APK) на Waydroid на Ubuntu Touch

Після ініціалізації Waydroid наступним логічним кроком є встановлювати власні програми для Android у вигляді APK-файлівВ Ubuntu Touch це також робиться з командного рядка, але процедура досить проста.

Перший є скопіюйте APK на пристрій доступним шляхомТипова папка зазвичай така:

/home/phablet/Downloads

Ви можете отримати файл туди багатьма способами: завантаженням безпосередньо з мобільного браузера, передачею через USB з комп’ютера, використанням ADB для його надсилання або будь-яким іншим зручним для вас інструментом.

Після встановлення APK знову відкрийте оболонку на пристрої (через ADB, SSH або термінальний додаток) та скористайтеся Команда, специфічна для Waydroid, для встановлення програм, що вказує повний шлях до файлу:

waydroid app install /home/phablet/Downloads/mi-aplicacion.apk

Якщо файл дійсний та сумісний, встановлення буде завершено, і Невдовзі ви побачите значок програми Android у списку програм Ubuntu Touch.Як і раніше, якщо він не відображається одразу, оновіть список, перетягнувши вниз від центру екрана.

Використання магазинів додатків: F-Droid, Amazon Appstore та інших

Встановлення APK вручну працює, але це набагато зручніше Мати магазин додатків у Waydroid для керування встановленнями та оновленнямиУ середовищі без сертифікації Google найпоширенішими варіантами зазвичай є F-Droid та Amazon Appstore, серед інших альтернативних магазинів.

F-Droid виділяється тим, що Він пропонує каталог безкоштовних програм з відкритим кодом (FOSS)Він не вимагає облікового запису Google і не залежить від власних сервісів компанії, що ідеально відповідає філософії Ubuntu Touch та безкоштовного програмного забезпечення загалом. Щоб встановити його, просто завантажте його APK з офіційного веб-сайту або за допомогою такого інструменту, як wgetа потім скористайтеся командою Waydroid:

wget https://f-droid.org/F-Droid.apk
waydroid app install F-Droid.apk

Після встановлення F-Droid (або будь-якого іншого альтернативного магазину) ви зможете пошук програм, їх встановлення та оновлення за допомогою графічного інтерфейсу AndroidОднак, через особливості Waydroid, ці магазини не оновлюватимуть програми повністю автоматично: вам доведеться періодично відкривати магазин, перевіряти наявність оновлень і підтверджувати встановлення кожного з них.

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

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

Видалення програм Android та керування сховищем

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

Спочатку відкрийте термінал (через ADB, SSH або сам додаток терміналу Ubuntu Touch), а потім Використовуйте команди Waydroid для перегляду та видалення програмНаприклад, ви можете переглянути встановлені програми за допомогою:

waydroid app list

Ця команда покаже вам ідентифікатори програм (APP_ID), які потрібно видалити. Після того, як ви знайдете потрібну вам програму, ви можете виконати:

waydroid app remove [APP_ID]

Іншим варіантом, якщо у вас налаштовано ADB, є використання такої команди:

adb uninstall [APP_ID]

Після видалення програми будь-яким із цих методів, значок може зникнути зі списку Ubuntu Touch деякий час. У такому разі, Перезавантажте список програм, перетягнувши його вниз у режимі перегляду програм, щоб примусово оновити.

Доступ до внутрішньої пам'яті Android з Ubuntu Touch

У деяких випадках це дуже корисно мати можливість безпосереднього доступу до файлів середовища Waydroid Android створити резервну копію, перемістити дані або перевірити завантажені файли.

Внутрішня пам'ять, яку бачить Android, зазвичай розташована за шляхом, подібним до цього:

/home/phablet/.local/share/waydroid/data/media/0

З Ubuntu Touch ви можете переміщатися по цій папці за допомогою файлового менеджера або з терміналуКопіюйте файли, синхронізуйте дані з іншими програмами або просто переглядайте збережені дані. Це практично еквівалент «внутрішньої пам’яті» звичайного телефону Android, але доступна з рівня Linux.

Важливі обмеження: батарея, сумісність та апаратне забезпечення

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

Перше обмеження, яке помічають багато користувачів, це підвищене споживання батареї, коли Waydroid активнийЗрештою, вся система Android працює паралельно з Ubuntu Touch, разом з її службами та процесами. Якщо ви хочете заощадити заряд батареї, рекомендується зупиняти Waydroid, коли він вам не потрібен.

Ви також повинні припустити, що Не всі програми для Android працюватимуть на WaydroidЗокрема, програми, які значною мірою залежать від таких сервісів, як Google Play Integrity або SafetyNet (онлайн-банкінг, деякі платіжні сервіси, програми, які є дуже чутливими з точки зору безпеки), зазвичай перевіряють, чи пристрій сертифікований Google та чи на ньому встановлені офіційні сервіси Play.

Як у Ubuntu Touch з Waydroid У вас немає сертифікованого середовища або офіційного Play Store.Багато з цих програм відмовлятимуться працювати або відображатимуть помилки. Це також може вплинути на програми, які потребують певних пристроїв, сертифікованих Google, або функцій, тісно пов’язаних із власною екосистемою компанії.

Ще один аспект, який слід врахувати, - це Можливий конфлікт у використанні периферійних пристроїв між Ubuntu Touch та WaydroidЯкщо обидві системи намагаються отримати доступ до камери, мікрофона чи інших пристроїв одночасно, одна з них може втратити доступ. Нерідко можна знайти програми для Android, які скаржаться, що вони не можуть використовувати камеру, оскільки вона використовується основною системою.

Для тих, кому потрібні функції, подібні до тих, що пропонуються сервісами Google Play, є microG, безкоштовна реалізація цих послугУ деяких випадках інтеграція його в Waydroid може покращити сумісність з певними програмами, але це не чарівна паличка: програми, які потребують суворої перевірки цілісності або сертифікації, все одно матимуть проблеми.

Виправлення неполадок при встановленні APK та щоденному використанні

Одна з найчастіших помилок під час встановлення програм на Waydroid — це повідомлення «Недійсний APK-файл» під час виконання команди встановленняНа перший погляд це звучить як пошкоджений файл, але часто проблема набагато простіше.

Найпоширенішою причиною є те, що Системі не вдається знайти APK-файл за вказаним шляхом.Це може бути пов'язано з друкарською помилкою в назві, запуском команди з іншого каталогу або тим, що ви забули вказати повний шлях. Щоб уникнути таких помилок, рекомендується завжди використовувати абсолютний шлях, наприклад:

waydroid app install /home/phablet/Downloads/mi-aplicacion.apk

Якщо помилка все ще з'являється, можливо, що APK пошкоджений, неповний або несумісний з архітектурою вашого пристрою.У такому разі найкраще завантажити його ще раз з надійного джерела або пошукати іншу версію, адаптовану до вашого обладнання (ARM, ARM64 тощо).

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

sudo systemctl restart waydroid-container

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

Google Play Store, сервіси Google та альтернативні варіанти

Делікатним моментом у всій цій справі є те, відсутність Google Play Store та власних сервісів Google на WaydroidGoogle веде закритий список сертифікованих пристроїв, і коли система не входить до цього списку, вона блокує офіційний доступ до свого магазину та певних API.

Це означає, що навіть якщо у вас є повнофункціональне середовище Android у WaydroidВи не зможете офіційно користуватися Play Store. Багато програм розповсюджуються лише через цей магазин, тому вам доведеться вдаватися до альтернативних репозиторіїв APK або сторонніх магазинів, щоб їх встановити.

Такий підхід досить добре працює для більшої частини каталогу, але Це не гарантує такої ж поведінки, як на сертифікованому пристрої Android.Програми, які потребують перевірки SafetyNet, Play Integrity або розширених перевірок безпеки, можуть відмовитися запускатися або мати обмежену функціональність.

Як уже згадувалося, microG може частково покрити деякі з цих недоліків, пропонуючи безкоштовне впровадження певних API GoogleОднак це не вирішує всі випадки, і банківські додатки та інші критично важливі сервіси, зокрема, часто зберігають свої обмеження.

Керування помилками та звітування про них в екосистемі Waydroid + Ubuntu Touch

Waydroid — це проект, що постійно розвивається, і Інтеграція з Ubuntu Touch та іншими системами з часом удосконалюється.Залежно від конкретного пристрою, який ви використовуєте, незначні помилки, незвичайна поведінка або відмінності – це нормально.

Функції смартфона Liberux NEXX-0
Пов'язана стаття:
Liberux NEXX: найпотужніший та найприватніший смартфон на Linux на ринку

При виявленні несправності рекомендується щоб розрізнити, чи це проблема, характерна для Ubuntu Touch чи WaydroidПомилки, пов'язані з базовою системою (інтерфейс, менеджер сеансів тощо), слід повідомляти в системі відстеження проблем Ubuntu Touch. Однак помилки, що стосуються контейнера Android, команд Waydroid або виконання програм Android, обробляються в офіційному системі відстеження проблем Waydroid.

Надсилаючи звіт, спробуйте включити Будь ласка, надайте якомога більше деталей: модель пристрою, версію Ubuntu Touch, точні кроки для відтворення помилки та повідомлення про помилки.Ця інформація дозволяє розробникам швидко діагностувати проблему та пропонувати виправлення або тимчасові рішення.

З усього вищесказаного зрозуміло, що Waydroid став ключовим інструментом для тих, хто хоче поєднати світ Android з Ubuntu TouchЦе дозволяє запускати багато програм інтегрованим способом, отримувати доступ до альтернативних магазинів, таких як F-Droid, керувати APK-файлами з терміналу та краще використовувати апаратне забезпечення пристрою, завжди пам’ятаючи про обмеження сертифікації Google, вище споживання енергії батареї та можливі конфлікти обладнання, які можуть виникнути під час об’єднання двох систем на одному ядрі. Поділіться інформацією, щоб більше користувачів могли дізнатися про тему.