Эмулятор android для Linux

4 лучших эмулятора Android на Linux

Вы планируете эмулировать приложения для Android в Linux? Пробовал несколько приложений в прошлом, но не уверен, какие из них хороши для использования? Мы можем помочь! Вот 4 лучших эмулятора Android для Linux!

1. Anbox

Anbox — это мощная система эмуляции с открытым исходным кодом для Linux. Он работает, помещая всю операционную систему Android в контейнер. Этот контейнер позволяет ему тесно интегрироваться с ядром Linux и предлагать впечатляющую эмуляцию приложений Android.

В Linux существует множество различных эмуляторов Android, так как стало модно выяснять, как запускать приложения на ПК. Тем не менее, с фантастической производительностью Anboxs и глубокими интеграциями с Linux, это должен быть ваш первый выбор для эмуляции.

Известные функции

  • Anbox контейнирует весь Android операционная система, что означает, что практически любое приложение Android может работать из коробки.
  • Поскольку Anbox работает внутри контейнера, система Android не может получить прямой доступ к вашей операционной системе Linux. В результате Anbox становится очень безопасным.
  • Anbox тесно интегрируется с операционной системой хоста, что обеспечивает быструю и отзывчивую эмуляцию Android.
  • Anbox может эмулировать приложения Android без необходимости аппаратной виртуализации , что делает приложения работающими в Linux почти на родном языке.

Загрузить Anbox

Поскольку эмулятор Anbox Android представляет собой сложную программу для запуска в Linux, его лучше всего устанавливать через Ubuntu Snap Store.

Чтобы получить доступ к эмулятору Anbox Android, перейдите по этой ссылке здесь. Или, если вы не понимаете, как настроить Anbox и нуждаетесь в руководстве, следуйте нашему руководству по этому вопросу.

2. ARChon

ARChon — это среда выполнения для Linux, Mac OSX и Windows. Он запускается в веб-браузере Chrome, и пользователи могут использовать его для преобразования любого приложения Android в приложение, совместимое с ПК.

Среда выполнения ARChon не является эмулятором Android. Вместо этого он использует собственную среду выполнения Googles для Android / ПК и позволяет пользователям воспользоваться этим. Тем не менее, несмотря на то, что он не является эмулятором, ему удается довольно хорошо запускать приложения для Android в Linux, и его стоит проверить!

Известные функции

  • ARChon может преобразовать практически любое существующее приложение Android из приложения, не совместимого с ПК, в приложение, работающее на собственной технологии эмуляции Android Googles в Chrome.
  • ARChon запускает приложения Android в браузере Google Chrome вместо сложной среды выполнения, которая для настройки требуется знание командной строки Linux.
  • ARChon не только работает в Linux, но также может работать в Chrome OS, Windows и Mac, обеспечивая одинаковый опыт независимо от платформы.
  • Код с открытым исходным кодом, размещен на GitHub, и любой пользователь может внести код для улучшения проекта.

Загрузите ARChon

Если Если вы хотите использовать ARChon на вашем компьютере с Linux, вам сначала нужно будет установить веб-браузер Google Chrome. Чтобы установить его, перейдите на страницу загрузки Googles Chrome. После запуска Chrome перейдите на веб-сайт ARChons и следуйте инструкциям по установке, приведенным на этой странице, чтобы заставить его работать на вашем ПК с Linux.

3. Genymotion

Genymotion — это коммерческий эмулятор Android для разработчиков приложений Android. Работает на Mac, Windows и Linux. Тем не менее, несмотря на то, что Genymotion ориентирован на разработчиков, он также работает для потребителей, которые хотят получить высококачественную эмуляцию приложений на ПК.

Поскольку Genymotion стоит денег, у него есть много интересных функций, таких как показ приложений, скриншоты, Графическое ускорение OpenGL, инструмент командной строки и многое другое. Достаточно сказать, что если вы серьезно относитесь к эмуляции Android, а бесплатные приложения в Linux этого не делают, воспользуйтесь Genymotion!

Известные функции

  • Genymotion позволяет пользователям изменять размер окон эмуляции Android, что очень редко встречается в эмуляции Android в других программах.
  • Genymotion позволяет пользователям делать скриншоты и легко демонстрировать эмулируемую операционную систему.
  • С помощью Genymotion пользователи могут просто перетаскивать их для установки приложений, что устраняет утомительный процесс загрузки APKS из Интернета и копается в системе Android, как и в других эмуляторах.
  • Genymotion поддерживает виртуализацию процессора и OpenGL, а также эмуляцию сенсора устройства (GPS, камера и т. д.)

Загрузить Genymotion

Как указывалось ранее, Genymotion не является свободным программным обеспечением. Это высококачественное программное обеспечение для Android. Если вы отчаянно нуждаетесь в превосходном эмуляторе Android для платформы Linux и не задумываетесь о стоимости, перейдите на страницу с ценами на Genymotion.com. В настоящее время они взимают 136 долларов в год за свой инди-план и 412 долларов за пользователя за свой бизнес-план.

4. Android X86 через VirtualBox

Android X86 не является эмулятором. Вместо этого это полноценная операционная система Android, которую можно установить на компьютер. Тем не менее, эту ОС можно запустить на виртуальной машине в Linux, что делает ее очень похожей на многие эмуляторы Android в Linux.

Наиболее убедительным аргументом для Android X86 является то, что она не эмулирует ОС Android. Пользователям предоставляется вся ОС для использования, и она может запускать все, что может телефон или планшет Android, что очень выгодно для разработчиков, которым требуется устройство X86, или для тех, кто хочет запускать приложения Android, которые не работают под традиционной эмуляцией.

Известные функции

  • Android X86 при работе в VirtualBox работает намного быстрее, чем любой эмулятор Android на рабочем столе Linux.
  • Поскольку Android X86 не является эмулятором, установка Служб Google Play не является сложной задачей, от которой сегодня зависят многие приложения.
  • Android X86 можно установить на компьютер и запускать как любую другую операционную систему, если вы решите не виртуализировать его на виртуальной машине VirtualBox.
  • Android X86 регулярно получает обновления Android, поэтому у вас всегда будет относительно свежая версия операционной системы.

Загрузить Android X86

Чтобы получить эмуляцию операционной системы Android X86, зайдите на OSBoxes.org. У них есть предварительно настроенные виртуальные машины, готовые к использованию в VirtualBox. Кроме того, загрузите образ ОС с официального веб-сайта Android X86, если вы предпочитаете настраивать его самостоятельно.

Заключение

Существует масса эмуляторов Android для всех возможных операционок. Худшие из них еле тащатся, лучшие работают быстро, а иногда даже позволяют поиграть. Вторые обычно доступны только для Windows, а в Linux работают так себе. Но сегодня на улице линуксоидов праздник: у нас появился способ запускать приложения Android прямо в Linux, без всякой эмуляции, тормозов, каждое в отдельном окошке с возможностью изменения размера. Встречай: Anbox — лучший способ запуска приложений Android на десктопе.

Начнем с того, что Anbox — не эмулятор. Это система запуска полноценной среды Android прямо на текущем ядре Linux с возможностью вывода интерфейса каждого приложения в отдельном окне с поддержкой 3D-ускорения. Нечто вроде Wine, который запускает приложения Windows без необходимости запуска Windows в виртуальной машине, но без присущих Wine глюков и недоработок.

Два главных преимущества Anbox — скорость и бесшовная интеграция с десктопом. Приложения запускаются безо всяких прослоек и эмуляции. А самое главное — они работают быстро. Во второй части мы подробнее рассмотрим, как работает Anbox, а пока установим его и посмотрим, что это такое.

Ставим

В данный момент Anbox поддерживает исключительно процессоры архитектуры x86_64 и дистрибутивы Ubuntu 17.04, 16.10, 16.04, 14.04, а также Linux Mint, Neon и Elementary. Устанавливается либо с помощью самодостаточного пакета формата Snap, либо с помощью скрипта anbox-installer. Но так как оба варианта работают одинаково, а первый менее универсален, рассмотрим только второй.

Ubuntu

Первое, что необходимо сделать, — это загрузить сам скрипт и дать ему права на исполнение:

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

Далее запускаем скрипт:

$ sudo ./anbox-installer

Скрипт попросит написать в терминале I AGREE, после чего установит Anbox в систему и предложит перезагрузить машину. После перезагрузки в меню появится пункт Anbox.

Устанавливаем Anbox в Ubuntu
Рекомендуем почитать:

Xakep #257. Pivoting

  • Подписка на «Хакер»

Arch Linux

Anbox можно запустить не только в официально поддерживаемых дистрибутивах, но и в других линуксах, просто собрав его из исходников. Проще всего это сделать в Arch Linux, так как Anbox уже есть в AUR и весь процесс сборки можно автоматизировать.

Установим парочку необходимых для сборки пакетов:

$ sudo pacman -S linux-headers dkms

А затем соберем Anbox из AUR. Лучше сделать это с помощью AUR-клиента, такого как pacaur или yaourt:

$ yaourt -S anbox-image anbox-modules-dkms-git anbox-git

Далее загрузим необходимые модули ядра:

$ sudo modprobe binder_linux $ sudo modprobe ashmem_linux

Запустим container manager:

$ sudo systemctl start anbox-container-manager.service

Запустим session manager:

$ anbox session-manager —gles-driver=host &

Готово. Можно кликать по иконке Anbox на рабочем столе или пойти путем джедая и запустить его прямо из терминала:

$ anbox launch —package=org.anbox.appmgr —component=org.anbox.appmgr.AppViewActivity

Пробуем

Сразу после запуска ты увидишь на экране простейший «менеджер приложений», написанный специально для Anbox. Приложений тут кот наплакал: стандартные галерея, календарь, настройки и прочее, а вот маркета нет. И поэтому первое, о чем ты спросишь: а как ставить софт, братан?

Менеджер приложений

И вот здесь начинается интересное. Разработчики Anbox не имеют права включать в поставку своего неэмулятора маркет и любой другой софт Google, в том числе сервисы Google, пока их «устройство» не пройдет сертификацию. Устройство пройти сертификацию не может — маркета не будет.

Но! В Anbox по умолчанию активирован режим отладки с помощью ADB (который в стандартном Android включается в настройках для разработчиков, куда еще надо добраться), поэтому установить приложение можно с его помощью. Установить сам ADB можно так:

$ sudo apt-get install android-sdk-platform-tools // Ubuntu $ sudo pacman -S android-tools // Arch Linux

А теперь самое интересное: тебе надо найти и скачать пакет APK нужного приложения. Для этого можно использовать сайт apkpure. Далее остается всего лишь выполнить такую команду (пример для FX File Explorer):

$ adb install ~/Downloads/File Explorer_v5.1.1.0_apkpure.com.apkFX File Explorer

Готово! Ставь приложения, развлекайся, до встречи. Шучу, на самом деле есть множество подводных камней. Например, сразу после установки Anbox я решил протестировать, как в нем работает Opera Mini, тот самый браузер, который умеет быстро отображать странички, даже если интернет до тебя доходит с помощью голубиной почты. Ведь для десктопа его нет.

В результате на экране появилось вот что:

$ adb install ~/Downloads/Opera Mini fast web browser_v24.0.2254.115689_apkpure.com.apk Failed to install /home/j1m/Downloads/Opera Mini fast web browser_v24.0.2254.115689_apkpure.com.apk: Failure

Объяснение этому простое: большая часть кода Opera Mini написана на C++, который скомпилирован в бинарник для платформы ARM. А так как в нашей машине процессор архитектуры x86_64, Android заботливо прибил приложение еще на этапе установки, чтобы мы не мучились, силясь понять, почему оно не работает.

На самом деле в маркете полно подобных приложений, и с несовместимостями архитектуры ты будешь встречаться довольно-таки часто.

Настройки

Вторая интересная особенность запуска приложений в отдельных десктопных окнах: далеко не каждое приложение готово смириться с тем, что сейчас его личико будут жестко сжимать или растягивать. Большинство современных приложений в этом случае поведут себя корректно — Google позаботилась об этом, когда готовилась к реализации поддержки плавающих окон в Android 7.0. А вот со старым софтом могут возникнуть сложности, хотя обычно все заканчивается окном фиксированного размера.

Окна можно делать любых размеров и форм

Ну и третье. Anbox, выражаясь языком Шекспира, — это alpha software, то есть ребята нам как бы говорят: все будет плохо и нестабильно, а о таких вещах, как поддержка определения координат, камера и микрофон, ты можешь забыть. Более того, в некоторых случаях ты можешь забыть и об интернете, а session manager будет время от времени падать, и его придется перезапускать.

Упс…

Зато! Anbox корректно определяет текущий уровень аккумулятора, размер оперативной памяти и даже жесткого диска (точнее, раздела /home). Да и в целом работает быстро и не вызывает желания его снести. Количество пожираемой оперативки — всего 448 Мбайт при запущенном менеджере приложений.

Приложения видят весь диск

FAQ первопроходца

Как нажать кнопку «Назад» и мотать страницы?

Кнопка «Назад» эмулируется с помощью Esc. Клавиатуру также можно использовать для навигации по приложению (Tab и стрелки). Промотка либо колесиком, либо удержанием левой кнопки мыши и движением вниз-вверх.

Можно ли использовать Anbox для запуска проектов в Android Studio?

Да! Причем никаких дополнительных шагов для этого предпринимать не надо. Достаточно выбрать устройство с именем вида emulator-6663 при запуске проекта.

Можно ли получить доступ к файловой системе работающего Android из Linux?

Да, она находится в каталоге /var/lib/anbox/rootfs, но доступна только для чтения. Зато ты можешь просматривать содержимое приватных каталогов приложений (data/data).

Можно ли установить магазин приложений?

Теоретическая возможность установить Google Play Store существует. Для этого необходимо разобрать образ файловой системы Android и интегрировать в него GApps. Однако гораздо проще установить Yandex.Store или любой другой сторонний маркет. Плюс активировать установку из сторонних источников: Settings → Security → Unknown sources.

Как разобрать образ Android Anbox?

Очень просто:

$ sudo apt-get install squashfs-tools // Ubuntu $ sudo pacman -S squashfs-tools // Arch Linux $ unsquashfs -f -d /куда/распаковывать /var/lib/anbox/android.img

А можно ли использовать другой образ Android, например CyanogenMod?

Нет. Есть две причины, почему это сделать нельзя. Первая — это должна быть сборка Android для x86_64. Вторая — эта сборка должна включать в себя специфические модификации Anbox.

Чем Anbox отличается от Shashlik

Shashlik запускает каждое приложение в эмуляторе. Другими словами, когда ты кликаешь по иконке приложения, запускается эмулятор, в нем — урезанная среда Android, а уже потом стартует приложение. Anbox гораздо более легковесный и производительный.

Как оно работает

В основе Anbox лежит очень простая идея: если Android — это виртуальная машина, работающая поверх ядра Linux, то почему бы не попробовать запустить приложения Android в окружении обычного дистрибутива Linux. Это очевидная идея, и она приходила в голову многим разработчикам с тех пор, как появился порт Android на x86. Некоторые программисты попытались реализовать ее через размещение окружения Android в chroot, но дальше полурабочих концептов дело не доходило (пример: ARC Welder).

У разработчиков Anbox ушло полтора года, чтобы довести проект до конца. Они смогли добиться интеграции приложений Android в десктоп Linux, обеспечить практически полную совместимость, а главное — сделать так, чтобы все это работало быстро, без сбоев и не требовало множества шагов для настройки.

Само окружение Android (на базе свежайшего Android 7.1.1, кстати) здесь замкнуто в песочницу, контролируемую с помощью технологии пространств имен (namespaces), той самой, что лежит в основе Docker. Пространства имен полностью отрезают окружение от среды дистрибутива Linux, а вся работа с оборудованием идет через демон anboxd. Для вывода картинки 3D-приложений используется специальный транслятор OpenGL ES → OpenGL, позаимствованный из официального эмулятора Android.

Ядро Linux также пришлось модифицировать, а точнее добавить в комплект Anbox модули с реализацией binder и ashmem, с помощью которых в Android взаимодействуют компоненты системы (IPC). Перед запуском Anbox загружает модули в ядро и добавляет правило udev для установки корректных прав доступа к устройствам /dev/binder и /dev/ashmem.

Каждое приложение в своем собственном окне Anbox размещает с помощью модифицированного композитного менеджера hwcomposer, который Android использует для наложения графических слоев. Hwcomposer запрашивает все слои каждого приложения и отдает их Anbox, который затем формирует индивидуальные окна для отдельно взятых приложений.

Все эти технические решения позволяют сделать Anbox действительно быстрым, удобным в использовании и эффективным в плане расходования ресурсов «эмулятором». В том числе в 3D-приложениях.

Anbox состоит из двух компонентов: container manager и session manager.

Container manager управляет песочницами с работающим внутри окружением Android. Его задача — корректно запустить систему Android, поддерживать ее работу и корректно завершить.

Session manager, в свою очередь, отвечает за коммуникацию Android внутри песочницы и с основной системой Linux. Его задача — отвечать на запросы запуска приложений и распределять их по разным окнам.

В целом запуск приложения Android с помощью Anbox выглядит так:

  1. В ядро загружаются модули binder и ashmem.
  2. Запускается container manager, который разворачивает песочницу с Android внутри.
  3. Запускается session manager, он запускает среду Android.
  4. Юзер отдает команду на запуск приложения, которую принимает и обрабатывает session manager.
  5. Session manager ожидает команды.

Шаги 1–3 подготавливают Anbox и запускаются один раз, обычно при загрузке системы.

Такая архитектура позволяет сделать запуск приложений практически моментальным за счет небольшого (порядка 400 Мбайт) оверхеда по памяти в режиме простоя.

Архитектура Anbox

Всем известная современная мобильная система Android разрабатывалась на основе ядра Linux. По этой причине можно работать с ее эмулированной версией. Подобная процедура выполняется только с помощью специальных программ, даже несмотря на «родственность» двух ОС.

Сегодня я рассмотрю лучшие эмуляторы Android для Linux, опишу их основной функционал и преимущества.

Genymotion

Вот так работает эмулятор Genymotion в операционной системе Linux

Genymotion – одна из самых «ходовых» и популярных программ подобного типа. Это, конечно, не BlueStacks (а кто сказал, что он есть в Linux?!), но определенно она заслуживает того, чтобы быть упомянутой. Она разрабатывается не только для Linux, но и Windows и macOS. Программа отличается привлекательным, удобным интерфейсом и простым управлением.

Это отличное решение не только для установки готовых приложений, но и тестирования собственных разработок. Ну, все те функции, что в нем реализованы, просто идеально подходят именно разработчикам: тут и полная поддержка различных форматов экрана (даже нестандартных), Android Studio и обновление операционной системы до последних версий.

На этом список отличительных преимуществ завершается. Для игр эта программа не подходит – банально не тянет их. При установке тяжелых игрушек она выдает ошибку, в которой говорится о невозможности их поддержки. В иных случаях заметны значительные подлагивания, из-за которых, ясное дело, толком и не поиграешь.

Мало того, что приложение не бесплатное, так еще, чтобы воспользоваться всеми функциями, в нем надо регистрироваться. Для личного пользования будут доступны только самые базовые функции, а вот за коммерческие фишки придется доплачивать по 136 долларов в год.

Особенности Genymotion:

  • Поддержка формата adb;
  • Эмуляция беспроводного соединения;
  • Возможность полного сброса виртуальной системы;
  • Эмуляция вспышки, фронтальной и задней камер;
  • Наличие виртуальных SD-карт и т.п.

Официальный сайт Genymotion

Android-x86

Мощная и универсальная программа Android-x86 для эмуляции ОС Android

А вот этот эмулятор уже можно сравнить с полноценной виртуальной машиной. Пользователь может даже скачать его ISO образ и использовать в Virtual Box для установки операционной системы Android. Да, различия между ними есть, причем существенные, но это не по нашей теме. Обновления выпускаются часто, поэтому самая свежая версия оболочки всегда будет в свободном доступе. Однако стоит учитывать, что все будет работать на платформе x86, то есть с более легкими и маломощными процессорами.

Android-x86 не подходит для работы с тяжелыми программами, но это не значит, что игры программа совсем не потянет. Создатели, вероятно, задумывали его, как и предыдущий вариант – для теста пользовательских разработок. Из плюсов можно отметить поддержку работы фирменного онлайн магазина Google Play Store.

Особенности Android x-86:

  • Поддержка загрузки из UEFI;
  • Поддержка WI-FI, Bluetooth и камер,
  • Возможность разработки программ для Android TV и Wear;
  • Текстовый GUI Installer.

Официальный сайт Android-x86

Android SDK

Это тот самый эмулятор, который официально поддерживает компания Google. Идеальное решение для разработчиков, желающих создать собственное виртуальное устройство под управлением ОС Android любой версии, даже для ТВ или смарт-часов. Данный эмулятор включен в Android Studio, и ссылка на него располагается в разделе «Сервис».

Единственный минус, из-за которого разработчики предпочитают обходить это приложение стороной, это медленная работа. Не скажу, что он тормозит настолько сильно, что работать невозможно, но в сравнении с Genymotion разница вполне ощутима.

Вообще, это один из самых гибких вариантов для тестирования новых разработок. Да и его функционал себя оправдывает – тут и определение местоположения, и контроль заряда батареи, уровня сети, регулировка работы камеры и так далее.

Официальный сайт Android SDK

Anbox – Android in a Box

Одна из самых универсальных программ для эмуляции ОС Android

Anbox – один из самых уникальных эмуляторов, работающий в системах GNU/Linux. Он работает как контейнер и предоставляет прямой доступ к ядру и другим аппаратным ресурсам, но при этом все равно остается изолированным. Именно по этой причине он работает быстрее и производительнее, да и риск запуска незащищенных приложений практически исключается.

Единственный жирненький минус на его счету – нет поддержки пакета Google Apps. Получается, что искать, скачивать и устанавливать приложения придется вручную, а вот подключение к сервису Play Игры совершить не удастся. Разработчикам тоже придется несладко – просто перетащить и протестировать приложение не получится, ведь для этого надо использовать adb команды.

Официальный сайт Anbox

ARChon

С помощью утилиты ARChon можно запускать приложения для Android прямо в браузере Google Chrome. Отсюда и название – Android Runtime for Chrome, так сказать, миниатюрная среда. Достаточно установить его в качестве расширения разработчика, а потом просто перетащить нужные приложения другим расширением. Все, можно приступать к работе.

В нем не предусмотрен онлайн-магазин Google Play, да и не каждое приложение будет работать достаточно стабильно, но именно за счет этого пользователю не придется инсталлировать виртуальную машину или думать о безопасной загрузке UEFI, обычно возникающей в Genymotion. Все доступные инструменты представлены на официальном сайте данной утилиты.

ARChon на Github

Android Virtual Device

Android Virtual Device – самый удобный пакет для тестирования разработок

Самый удобный пакет для тестирования приложений, поддерживающий совместную работу с Android Studio. Тут есть и стандартные опции – GPS, эмулятор камеры, имитация вращения. Google Play данная программа поддерживает, поэтому со скачиванием и установкой новых программ проблем возникнуть не должно. Тяжелые игры с высокими аппаратными требованиями будут работать довольно медленно, а временами зависать.

Есть и преимущество – удобное управление с помощью отдельного интерфейса, расположенного справа от рабочего экрана. Доступна русификация интерфейса.

Andro VM

Некоторые считают, что Genymotion создавался именно на основе программы Andro VM. Функционал во многом схож, но главное отличие заключается в возможности работы в автономном режиме, что является плюсом, если доступ в интернет ограничен. В ней есть и обмен сетями от гостя к хосту и поддержка аппаратной визуализации OpenGL. Вот как раз благодаря последней фишке в данной среде можно запускать даже тяжелые игрушки без особых затруднений.

Для функционирования утилиты придется устанавливать виртуальную машину, но это не столь значительный минус в сравнении со всеми его плюсами.

Большинство указанных эмуляторов функционируют именно в качестве виртуального устройства. Есть и более легкие варианты – расширения для браузера, но функционал в них не настолько обширен, нежели в портативных инструментах. Да и выбор программы зависит от цели – пользователю она может быть нужна для тестирования софта, разработки игр или просто развлечения.