Перехід між різними операційними системами може стати захоплюючим досвідом. Ентузіасти технологій усвідомлюють, що кожна операційна система має свої обмеження, але використання передових рішень дозволяє розширити горизонти.
В постійно мінливому технологічному середовищі існують люди, які не бажають зупинятися на досягнутому. Технічні новатори постійно шукають нові виклики, досліджують невідомі можливості та розширюють межі дозволеного.
Одним з таких починань, що викликало значний інтерес серед цих ентузіастів, є об’єднання двох потужних операційних систем: Android та Linux. Запуск Android на Linux став цікавим завданням для тих, хто цікавиться технологіями.
Чому варто запускати Android на Linux?
Відповідь криється в поєднанні двох надзвичайно потужних систем, кожна з яких лідирує у своїй галузі. Android, популярна мобільна операційна система, розроблена Google, стала основою сучасної ери смартфонів.
З іншого боку, Linux, надзвичайно гнучка операційна система з відкритим кодом, домінує у світі серверів, вбудованих систем та обчислювальних пристроїв. Вона цінується за стабільність, безпеку та адаптивність. Нижче наведено деякі з поширених причин для використання Android на Linux:
- Емуляція та тестування додатків
- Дослідження відкритого коду
- Персоналізація та налаштування
- Використання ресурсів та продуктивність
- Безпека та конфіденційність
- Універсальність одного пристрою
- Навчання та розвиток навичок
Далі ми розглянемо методи запуску Android на Linux.
Як запустити Android на Linux?
Очевидно, існує кілька способів запуску Android-додатків на Linux. Використання емуляторів є одним з найпоширеніших методів на сьогоднішній день. Однак існують й інші варіанти, такі як проєкт x86, віртуальні машини, скрипти, інтеграція операційної системи тощо.
Більшість цих методів є складними з технічної точки зору, за винятком емуляторів. Саме тому емулятори часто використовуються для запуску Android-додатків на Linux.
Інші популярні способи запуску Android на Linux відрізняються від використання емуляторів. Використання проєкту Android x86 на базі Apache є способом перенесення Android на операційні системи з відкритим вихідним кодом, такі як Linux. Також, деякі рівні сумісності, такі як Shashlik, дозволяють користувачам запускати Android на Linux без використання програмного забезпечення-емулятора.
Емулятори працюють, імітуючи ОС Android в системі Linux. Це досягається за допомогою спеціалізованого програмного забезпечення. Багато хто в галузі розробки програмного забезпечення використовують цей метод.
Розглянемо найкращі платформи, які з’явилися завдяки зусиллям цих технічних фахівців. Кожна платформа пропонує унікальні можливості, завдяки постійному вдосконаленню технологій.
Anbox Cloud
Anbox Cloud – це хмарна платформа, яка спрощує інтеграцію Android-додатків в різні хмарні середовища. Її висока масштабованість дозволяє ефективно обробляти робочі навантаження, що робить її відмінним варіантом як для малих, так і для великих розгортань. На відміну від традиційних емуляторів, Anbox Cloud запускає Android у системних контейнерах, забезпечуючи кращу продуктивність та зменшені витрати ресурсів.
Завдяки сумісності з провідними постачальниками хмарних послуг, такими як AWS, OCI, Azure і GCP, Anbox Cloud забезпечує гнучкість роботи на широкому діапазоні хмарних серверів. Платформу також можна використовувати в приватних хмарах для користувачів, які цінують конфіденційність та налаштування, забезпечуючи потокове передавання з низькою затримкою.
Anbox Cloud надає значну економію завдяки можливості максимально використовувати ресурси. Платформа має повні можливості автоматизації, що спрощує операційні завдання та зменшує ручне втручання. Крім того, хмарна платформа підтримує еластичне масштабування, що дозволяє додаткам динамічно коригувати свої потреби в ресурсах відповідно до попиту.
Платформа має вдосконалений стек потокової передачі, що забезпечує низьку затримку та високу частоту кадрів для потокового передавання мобільних додатків та ігор на віддалені пристрої. Вона підтримує як архітектуру Arm, так і x86. Це повністю керована платформа, що забезпечує зручний досвід користувача і звільняє його від необхідності обслуговування інфраструктури. Доступна якісна технічна підтримка, яка гарантує своєчасну допомогу та вирішення проблем.
Anbox забезпечує безпечну доставку локальних мобільних додатків і включає централізовану систему керування безпекою. Він підтримує різні моделі розгортання, такі як BYOD (принеси свій власний пристрій), CYOD (обери свій власний пристрій), COPE (компанія надає пристрій, особисте використання) і COBO (компанія надає пристрій, лише для роботи).
Anbox Cloud забезпечує значну економію часу завдяки можливостям автоматичного тестування додатків. Користувачі можуть емулювати тисячі різних пристроїв Android, імітувати різні сценарії тестування та легко інтегрувати тестування у свої CI/CD процеси (безперервна інтеграція/безперервне розгортання).
Waydroid
Waydroid – це інноваційна і безкоштовна платформа на основі контейнерів, що забезпечує повноцінну роботу з Android в звичайних системах GNU/Linux, таких як Ubuntu. Це потужне рішення з відкритим вихідним кодом та цікавими функціями, що робить його привабливим варіантом для ентузіастів Android на Linux.
Waydroid плавно інтегрує програми Android в хост-середовище GNU/Linux. Повний досвід інтеграції додатків досягається, коли програми Android функціонують так, наче вони є рідними для системи Linux.
Waydroid підтримує багатовіконний режим, що дозволяє користувачам запускати кілька програм Android одночасно. Повноцінний режим інтерфейсу забезпечує всебічний досвід Android, доповнений всіма знайомими елементами графічного інтерфейсу, такими як панель сповіщень, рядок стану та панель додатків.
Використовуючи простори імен Linux (user, pid, uts, net, mount, ipc), Waydroid досягає високого рівня ефективності, забезпечуючи безперебійну роботу в хост-системі GNU/Linux. Платформа підтримує різні архітектури ЦП, включаючи ARM, ARM64, x86 і x86_64. Він використовує LXC (контейнери Linux) та інтерфейс зв’язування, що забезпечує прямий доступ до апаратних ресурсів для системи Android і сприяє оптимізації продуктивності.
Waydroid розширює підтримку GPU на графічні процесори Intel і AMD, дозволяючи користувачам використовувати всі можливості свого графічного обладнання. Проте для графічних процесорів Nvidia та віртуальних машин платформа використовує програмний рендеринг, що може мати певні наслідки.
Waydroid має активну спільноту, яка сприяє розвитку, вдосконаленню та підтримці платформи.
Genymotion
Genymotion – це універсальна платформа, яка пропонує повний набір функцій, що робить її відмінним вибором для запуску віртуальних пристроїв Android як у хмарних, так і в настільних середовищах. Платформа має виняткову сумісність, що забезпечує повну інтеграцію.
Масштабованість дозволяє легко розширювати її відповідно до зростаючих потреб і робочого навантаження. Genymotion гнучко працює з кількома пристроями, дозволяючи користувачам емулювати різні конфігурації Android.
Автоматизація є важливою особливістю Genymotion, що оптимізує повторювані завдання та дозволяє користувачам створювати надійні системи тестування з використанням таких популярних рішень, як Appium, Espresso і Detox. Платформа легко інтегрується з провідними рішеннями для безперервної інтеграції, такими як CircleCI, Bitrise та GitHub Actions.
Подвійні варіанти Genymotion – хмарна і настільна версії – надають користувачам неперевершену гнучкість. Genymotion SaaS (Програмне забезпечення як послуга) забезпечує інтерактивний доступ до віртуальних пристроїв з веб-браузера, забезпечуючи безпечне з’єднання з ADB (Android Debug Bridge). Версія SaaS також пропонує просту інтеграцію з SDK та API, що робить її зручним вибором для розробників.
Genymotion Desktop дозволяє налаштовувати понад 3000 віртуальних пристроїв Android, включаючи різні версії Android та характеристики апаратного забезпечення. Набір апаратних датчиків на платформі забезпечує GPS, мережу та мультисенсорну взаємодію.
Інші функції включають імітацію роботи батареї, керування обертанням, введення з камери та звуку, моделювання GPS, а також управління мережею та базовою смугою. Для повноцінного тестування та середовищ розробки існують додаткові функції, такі як регулювання дискового вводу-виводу, оперативні журнали для налагодження, стороннє завантаження програм за допомогою перетягування та керування ідентифікаторами Android.
Крім того, вона підтримує основних хмарних провайдерів, включаючи AWS, Azure, GCP, Aliyun і Oracle Cloud Infrastructure marketplaces.
Android x86
Android x86 – це платформа з відкритим кодом, яка пропонує повноцінне рішення для запуску Android на поширених платформах x86. Проєкт розпочався як місце для хостингу виправлень для підтримки Android x86, але перетворився на повноцінний Git-сервер.
Android x86 має активну спільноту, яка зробила значний внесок у проєкт. Платформа була ретельно протестована на різних пристроях, включаючи Microtech e-tab Pro (2018), ПК/ноутбуки ASUS Eee, Viewsonic Viewpad 10, Dell Inspiron Mini Duo, Samsung Q1U, Viliv S5, Lenovo ThinkPad x61 Tablet та інші, результати тестувань доступні для спільного користування спільнотою.
Останній стабільний випуск Android-x86 8.1-r6 має багато вражаючих функцій та вдосконалень. Він використовує ядро 4.19 з увімкненим KMS (налаштування режиму ядра), що покращує графічну продуктивність та можливості відображення.
Підтримується призупинення та відновлення живлення (режим S3), що дозволяє пристроям ефективно керувати станами живлення. Інші важливі функції включають аудіо (ALSA), Bluetooth, G-сенсор, підтримку камери V4l2, дзеркальний режим на зовнішніх моніторах, автоматичне підключення зовнішніх накопичувачів, сумісність із зовнішніми клавіатурами та мишею.
Планується подальший розвиток платформи, включаючи перенесення Android 10 (випуск Q), оновлення ядра до версії 5.4 та впровадження апаратного прискорення OpenGL ES для графічних процесорів Intel, Radeon, Nvidia, AMDGPU та Virgl.
Середовище виконання ARChon
Середовище виконання ARChon – це платформа, розроблена для Chrome, що дозволяє розробникам запускати додатки Android у Windows, Linux та інших системах за допомогою браузера Chrome. Остання версія, ARChon 2.1.0 Beta (ARC 41.4410.238.0), продовжує вдосконалювати роботу додатків Android на платформах, відмінних від Android.
Платформа пропонує різні варіанти завантаження, адаптовані до різних пристроїв та конфігурацій. Користувачі можуть вибрати потрібну версію для своїх пристроїв, наприклад, Intel x86 Chrome 64-bit/Chrome OS 64-bit, 32-bit/Chrome OS 32-bit або ARM (сумісна з Chromebook на базі ARM).
Налаштування ARChon Runtime – це простий процес. Користувачам потрібно завантажити середовище виконання ARChon, а потім розпакувати його. Після цього вони можуть перейти до “chrome://extensions”, увімкнути “Режим розробника” і завантажити середовище виконання.
Щоб перевірити можливості платформи, користувачі можуть спробувати зразок додатка, завантаживши його, розпакувавши, завантаживши як розпаковане розширення, а потім натиснувши “Запустити”.
Платформа надає корисні інструменти для спрощення процесу перетворення програм Android на сумісні з ARChon. Ці інструменти включають chromeos-apk (інструмент перетворення програми CLI), ARChon Packager (інструмент перетворення на базі Android) і twerk (інструмент перетворення на базі Chrome).
Android Studio
Android Studio – це офіційне інтегроване середовище розробки (IDE), надане Android для розробки додатків Android. Хоча основна мета – сприяти створенню нових додатків для Android, його також можна використовувати для різних модифікацій та інтеграцій, включаючи запуск додатків Android на Linux.
Остання версія Android Studio, відома як “Giraffe”, є передовою платформою з повним набором інструментів та функцій, призначених для розробників Android. Особливою перевагою є підтримка різних платформ, що робить її доступною для Linux, Windows, ChromeOS та інших операційних систем.
Щоб запускати додатки Android на Linux за допомогою Android Studio, розробникам потрібно завантажити та встановити версію IDE, сумісну з Linux. Після встановлення Android Studio забезпечує зручне середовище, де користувачі можуть тестувати, розробляти, проектувати та налаштовувати додатки Android безпосередньо в системі Linux.
Як офіційна платформа, схвалена Android, Android Studio забезпечує надійну роботу під час запуску програм Android на Linux. Його інструменти розробки, можливості налагодження та вбудований емулятор роблять його комплексним рішенням для розробки та тестування додатків на різних платформах.
Android Studio – це не лише винятковий інструмент для створення нових додатків Android, а й офіційний спосіб запуску програм Android на Linux. Завдяки версії, сумісній з Linux, Android Studio дозволяє розробникам використовувати можливості Linux під час створення, тестування та налаштування своїх додатків Android.
Anbox
Anbox – це проєкт, що з’явився в 2017 році з амбітною метою перенести операційну систему Android на будь-яке настільне середовище на базі Linux. Він використовує підхід на основі контейнерів для запуску повноцінної системи Android на звичайній системі GNU/Linux, надаючи користувачам можливість безперешкодного доступу до програм Android на робочому столі Linux.
Хоча спочатку Anbox був перспективним, останні кілька років його розвиток зупинився. Станом на 2023 рік проєкт більше не підтримується та не розробляється його первинними творцями.
Незважаючи на це, основні компоненти Anbox, включаючи модулі ядра, все ще доступні у сховищі GitHub, що робить його доступним для тих, хто зацікавлений у його використанні. Хоча технічне обслуговування Anbox призупинено, документація проєкту, інструкції користувача, фреймворки та маніфести залишаються доступними на GitHub.
Важливо зазначити, що використання Anbox, враховуючи відсутність активної розробки та обслуговування, може мати наслідки щодо сумісності з новими версіями Android, потенційної вразливості безпеки та стабільності сучасних дистрибутивів Linux.
Заключні слова
У світі технологій, що постійно розвивається, прагнення запустити Android на Linux розпалює уяву як технічних фахівців, так і ентузіастів. Пошук безперебійної інтеграції між двома потужними операційними системами, Android та Linux, породив різні платформи, що задовольняють різноманітні потреби та варіанти використання.
Ми розглянули найкращі платформи, які з’явилися завдяки зусиллям цих далекоглядних людей. Кожна платформа пропонує унікальні функції, можливості та обмеження, що відповідають конкретним випадкам використання та вподобанням.
Далі перегляньте емулятори Android та iOS, щоб прискорити розробку та тестування додатків.