Эмулятор Андроид на Linux

Общеизвестно, что Android и Linux – в каком-то смысле родственники. Во всяком случае, массовое убеждение именно такое. В реальности всё чуть сложнее: самая популярная мобильная ОС использует лишь ядро Линукса. А это значит, что прямой совместимости «из коробки» (насколько про обе системы вообще можно так говорить) не существует. Впрочем, когда нам нужен эмулятор Android для Linux, общее происхождение начинает играть свою роль.

Эмуляция Android-среды на Линуксе

В эмуляторах для Windows мы фактически запускаем виртуальную машину с Андроидом, которая требует уйму ресурсов на выполнение. В среде Линукс интеграция теоретически возможна на другом уровне: вместо отдельной «песочницы» система запускает мобильную платформу прямо на текущем ядре, благо менять его не особо и надо. Приложения при этом так упаковываются, что их можно выводить наружу в отдельных окнах. Более того: в них можно задействовать даже аппаратное 3D-ускорение, что выводит пользовательский опыт за границы скучноватых «песочниц». Для пользователя это означает, что приложения не будут тормозить, а ресурсы системы никто не будет расходовать зря.

На сегодня существует несколько реализаций запуска Android-приложений в Линуксе (считая официальный эмулятор от Google – The ARC Welder, сделанный как расширение для Chrome). Однако полноценная Android-среда в Linux появилась только в 2017 году. Это чудо называется Anbox и совместимо только с x86/64-процессорами, а также только с дистрибутивами Ubuntu (строго редакций 17.04, 16.10, 16.04, 14.04), Linux Mint, Neon и Elementary.

Установка Anbox

Сам по себе Anbox предлагается в виде автономного установочного пакета Snappy или в виде удалённого инсталлятора в репозитории, установить который можно путём запуска скрипта. Так, например, в Ubuntu это делается следующим образом:

  1. Загрузите скрипт:

$ wget https://raw.githubusercontent.com/anbox/anbox-installer/master/installer.sh -O anbox-installer

Загрузка пакета Anbox UbuntuДайте скрипту права, нужные для установки программы:

$ chmod +x anbox-installer

  1. Запустите скрипт:

$ sudo ./anbox-installer

  1. Если терминал попросит вас набрать в строке консоли «I AGREE», сделайте это.

Когда установка закончится, перезагрузите компьютер. Скорее всего, система сама предложит вам это сделать. Если всё прошло благополучно, то после перезапуска в вашем меню появится пункт «Anbox».

Для других дистрибутивов Linux процедура, возможно, будет немного иной. Многие из них также поддерживают пакеты Snap. В любом случае никто не мешает скомпилировать пакет на месте из исходников.

Если вы предпочитаете скачать Snap-пакет, то команда для инсталляции будет такой:

sudo snap install --classic anbox-installer && anbox-installer

Загрузка snap Anbox для UbuntuЗатем введите цифру 1 и нажмите Enter, потом впечатайте «I AGREE» и подтвердите действие.

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

Эмулятор (ну хорошо, строго говоря – упаковщик, но для большинства он всё же эмулятор Андроид для Линукс) предназначен для запуска приложений. Так? В Google так не считают. «Корпорация добра» отказывается авторизовать устройства, если те не имеют сертификации. А наш Anbox – вообще не устройство, так что сертификацию он не пройдёт даже теоретически.

Тем не менее способ устанавливать приложения в Anbox есть. Дело в том, что, как и любое «железное» Android-устройство, Anbox имеет режим отладки по ADB, и он изначально активен. Осталось только установить набор команд ADB в саму систему. Для Ubuntu это можно сделать следующим запросом в терминал:

$ sudo apt-get install android-sdk-platform-tools

В число этих самых «Android SDK Platform Tools» входит и ADB.

После этого вам остаётся только скачивать установочные файлы нужных приложений. Ресурсов для этого огромное количество: от глобального apkmirror, до всем известного форума из цифры и трёх букв.

Запомните адрес, куда скачиваете файлы (допустим, Downloads). В Убунту команда для запуска приложений выглядит в общем случае так:

$ adb install ~/Downloads/filename.apk

Вместо filename.apk нужно подставить имя файла приложения.

Таким образом Android-приложения будут запускаться в оконном режиме. Разумеется, производительность зависит от параметров системы, но в целом приложения будут работать достаточно быстро.

Особенности работы Android-приложений под Anbox

Хотя благодаря линуксовому ядру кажется, что проблем быть не должно, на самом деле нюансов предостаточно. Отметим следующие:

  • К управлению привыкать особо не придётся. Кнопка «назад» имитируется с помощью клавиши Esc, а вместо жестов по экрану можно пользоваться мышью.
  • Если приложение в принципе не поддерживает x86/64, то запустить его не получится. Это обратная сторона отказа от виртуальной машины.
  • Буфер обмена интегрируется с основной ОС. Увы, интеграции на более высоком уровне пока нет.
  • Существуют рецепты по интеграции Play Market в образ Android. Если вы им последуете, то с помощью Anbox сможете получить куда более функциональное решение. Но можно поступить проще и установить в обычном режиме сторонний магазин приложений.