Лучшие эмуляторы Android для Linux

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

Затевая обзор лучших эмуляторов Android для Linux, мы решили — что, возможно, и неудивительно — поохотиться за эмуляторами. Однако быстренько осознали, что способов достижения нашей цели — запуска приложений Android в Linux — имеется множество. Поэтому мы также включили Anbox, несмотря на то, что данная программа находится на стадии пре-альфа Anbox следует той же философии, что и WINE: оба пытаются реализовать как можно большую часть системных вызовов Андроид. Этот подход эффективнее эмуляции, поскольку ваши приложения будут работать нативно. Требования оборудования к эмулятору до боли понятны при работе на компьютере с небольшой памятью.

Рекомендуем к прочтению:  Использование Android в связке с Linux

Как мы тестировали эмуляторы

Мы начали с установки разных решений, чтобы посмотреть, с какими проблемами вы можете столкнуться перед тем, как будете готовы запускать приложения. Например, Anbox, согласно информации на его сайте, находится на стадии пре-альфа. Далее мы попытались установить приложения напрямую, с помощью Google Play и технологий сторонней загрузки. Один из методов — использовать adb на работающем экземпляре. Мы также замерили производительность каждого эмулятора и требуемый объем памяти.

Еще один аспект тестирования — зачем разработан каждый пакет; например, для того, чтобы играть в игры Android на своем ПК. Кстати, наша тестовая машина — Intel Core i3 CPU с 4 ГБ памяти, что для запуска эмуляторов весьма ограничивает. И если у вас есть серьезная причина запускать приложения Android на своем компьютере Linux, купите и установите ОЗУ побольше.

Эмуляторы Android для Linux

Некоторые из пакетов поставляются в виде ISO-образов, которые вы копируете на флешку USB и запускаете оттуда. Вы также можете установить Android-x86 как отдельную ОС с помощью файла Grub. Данный подход означает, что перед вами уже не эмулятор, а скорее целый дистрибутив. Прежде чем выбрать определенный пакет, спросите себя, какая у вас цель. Одни пакеты разработаны для геймеров, а другие — в помощь тестированию новых программ. Для разработки и тестирования вам понадобится отнюдь не тот пакет, который задуман для употребления развлекательных приложений Android.

Android Virtual Device

Android Virtual Device — самый зрелый пакет для разработки и тестирования. Если вы начнете с Android Studio, он идеально интегрирован и естественно применяется для тестирования. Правда, последний релиз содержит ошибку, и вам придется запускать AVD из командной строки с помощью параметра -use-system-libs.

Эмулятор Android для Linux
Эмулятор Android для Linux Android Virtual Device

При работе в виртуальном устройстве у вас есть все необходимые функции, включая GPS, эмуляцию камеры и имитацию вращения. AVD работает хорошо, и добавив Google Play, вы можете использовать его для обычных приложений. Однако игры могут замедляться, раз уж вы используете виртуальное устройство. Только самые современные CPU позволяют запустить несколько виртуальных CPUy. Другие, не столь требовательные к графике и CPU приложения будут работать нормально; но вообще AVD больше всего подходит для тестирования новых приложений, которые вы создали.

Android-x86

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

Эмулятор Андроид для Linux
Эмулятор Андроид для Linux Android-x86

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

Anbox

Мы не могли не включить Anbox в наше Сравнение, хотя понимали, что это может выйти нам боком. Что и оправдалось. Заставить Anbox работать удается с переменным успехом, поскольку, по словам разработчиков, он на стадии пре-альфа. Когда он работает, это отличный инструмент для использования с единичными приложениями, ведь его системные требования немногим больше требований обычного приложения.

Эмулятор Android для Linux
Эмулятор Android для Linux Anbox

В процессе установки используется Snap, что делает установку и удаление простым. Помните, что на настоящий момент вам нужно установить anbox-installer Snap, который, в свою очередь, установит Anbox. Скрипт установщика запускает apt, который устанавливает библиотеки и модули ядра, требуемые для его работы. Только самые авантюрные пользователи могут рискнуть, пока не вышел первый бета-релиз. Обратите внимание, что этот пакет скорее является контейнером, нежели эмулятором.

Genymotion

Genymotion как минимум не уступит AVD в том, что касается имитации аппаратных функций, и он потребляет столько же памяти и ресурсов на компьютере. Если сразу же установить Gapps, можно через Google Play установить приложения для всего. С учетом его потребления ресурсов, вам понадобится много памяти, чтобы запускать большие приложения, но основная цель данного эмулятора — тестирование новых программ так, чтобы это не вызвало никаких проблем.

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

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

Shashlik

Shashlik тоже находится на очень ранних стадиях разработки, что становится очевидным при попытке его запустить. Установщик работает по умолчанию, и даже скрипт установки приложений работает безукоризненно. При попытке запустить приложения всё усложняется. Многие настройки встроены в скрипт запуска, и найти параметры для его запуска—целая проблема. Поддержка тоже, судя по всему, зашла в тупик. Самая последняя работа над деревом разработки на github наблюдалась два года назад.

Эмулятор Android для Linux
Эмулятор Android для Linux Shashlik

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

Установка Android эмулятора в Linux

При установке программ в популярных дистрибутивах мы используем знакомые менеджеры пакетов, такие как apt, dnf и т.д. Однако иногда установка программ делается посредством простого скачивания двоичного пакета, вроде Anbox. Он поставляется в формате Snap, стандарта, разработанного и до сих пор поддерживаемого Canonical. Anbox — программа. находящаяся на стадии пре-альфа, и даже если установка вам удастся, заставить ее работать — совсем другое дело.

Стандартный способ эмуляции устройств Android — использовать пакет Android Virtual Device для Android Studio. Его можно запустить и без Studio, если вам надо просто опробовать приложение. С учетом потребляемых Android Studio ресурсов, это полезная опция. Правда, лучше всего устанавливать эмулятор как часть Studio.

Android-x86 создается как новый дистрибутив, когда вы устанавливаете файл rpm. Он добавляет запись в меню Grub, так что при следующей загрузке вы просто можете выбрать ее и запустить свой компьютер как устройство Android. Чтобы запустить его параллельно своим обычным задачам, нужен VirtualBox или QEmu. Вообще-то многие эмуляторы в нашем обзор используют для виртуализации VirtualBox.

Больше всех ресурсов при запуске потребляет Genymotion. Однако при наличии VirtualBox его установка проста. Чтобы его установить, скачайте и запустите двоичный установщик. При первом запуске приложения никаких виртуальных устройств еще нет, и вам надо будет выбрать их из обширного списка; скачивание и настройка происходят автоматически.

Shashlik исповедует ту же философию, что и Anbox. но обращается к эмулятору QEmu. Несмотря на это, он быстр и, кроме того, применяет простой скрипт установки для побочной загрузки файлов арк. Чтобы установить Shashlik, можно использовать пакет Debian с командой dpkg -i. После установки вам может понадобиться изменить некоторые параметры — например, задействовать GPU. Для этого следует открыть и отредактировать скрипт Python shashlik-run.

Рекомендуем к прочтению:  Лучший Gnome-дистрибутив

Производительность Android эмуляторов

Для тестирования этих пакетов мы взяли 4-ГБ компьютер, что оказалось далеко от идеала. Причина в том, что обычно каждой виртуальной машине нужно около 1 ГБ памяти, и полнофункциональный рабочий стол Gnome забирает 1.5 ГБ несколькими уведомлениями и синхронизацией облачного хранилища. Запуская Firefox, вы приближаетесь к быстрому заполнению и должны экономить память.

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

Если вам просто надо запустить свой ПК в качестве устройства Android, используйте Android_x86, он работает на редкость хорошо.

Другие пакеты запускаются через виртуализацию, а конкретно — из VirtualBox, что усложняет их запуск вместе с другими программами. Иными словами, если вы хотите разрабатывать и тестировать приложения Android, заведите компьютер на 16 ГБ — и сможете запустить эмулятор параллельно своей IDE.

Наиболее способный и интегрированный выбор — тандем Android Studio и AVD при разработке и тестировании на одном компьютере. Чтобы имитировать многие функции, например, камеру, GPS и наклон телефона, удобно использовать Genymotion, это отличный инструмент. Кроме того, он показывает экран в точности таким, как он выглядит на настоящем физическом устройстве.

Удобство в работе с эмулятором

Для применения виртуализации есть масса причин. Любителям может понадобиться некое приложение, которое не работает на их ОС, или захочется протестировать разработанные ими программы.

Другие варианты применения — на коммерческих серверах, где виртуализация пригодится для целей безопасности и проблем балансировки нагрузки. В данном разделе мы продемонстрируем, для каких целей будут всего удобнее конкретные пакеты.

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

В нашем обзоре самое эффективное решение для запуска приложений — Anbox. Он обходится без имитации оборудования и обгоняет всех, но покамест не созрел для производственной деятельности.

Управление приложениями в эмуляторе

Когда ваш эмулятор запустится, пора установить любимые приложения. На обычном устройстве Android у вас будет Google Play или даже FDroid. В эмуляторах для доступа к Play Store обычно надо установить Gapps. Есть и другие способы добавить приложения на ваш виртуальный телефон. Можно использовать на виртуальном устройстве; он работает на эмуляторах и контейнерных решениях вроде Anbox. В Android_x86 установлен по умолчанию Play Store, что дает возможность очень быстрого старта.

С AVD вы можете запустить установленные приложения или приложение, которое вы разрабатываете в Android Studio. Установка приложений с помощью Google Play включено в некоторые образы, но не во все. Еще один способ установить из apk — перекинуть файл в окно эмулятора. Это мгновенно установит приложение — или, по крайней мере, попытается это сделать. Genymotion также поддерживает drag-and-drop. В любом случае apk должен быть для х86. или установка не получится. Кроме того, перед началом вам потребуется Adb.

Вы также можете попробовать поработать с Shashlik. Shashlik функционирует как контейнер, во многом напоминая Anbox. но располагает встроенной функцией установки. Как только вы установите приложение. оно появится в виде приложения в вашем списке рабочего стола. На нашем экземпляре рабочего стола Gnome при вводе shashlik’ отображаются все установленные приложения. Затем вы окажетесь в состоянии запускать свои любимые приложения напрямую, как остальные установленные.

Документация и поддержка эмулятора

Документация обычно является слабым звеном в любительских проектах, что вызывает сожаления, если предлагаемые проекты настолько элегантны. В нашем Сравнении были те же результаты, у Android Virtual Device имеется вся документация и поддержка, о которой только можно мечтать, и когда вы используете его вместе с Android Studio, он еще лучше. У Genymotion есть отличный FAQ с основными решениями, чтобы помочь вам приступить к работе, а если вы работаете профессионально, то имеется платная версия.

Документация — высшего класса и явно предназначена активным разработчикам. Она самая лучшая. Android~х86 весьма зрелый и имеет фантастическую документацию, с отличным FAQ. Помощь сообщества осуществляется через Google Groups. Они активны и могут помочь вам, если у вас будут проблемы. Anbox настолько новый, что есть даже документация по его установке и началу работы. Но при этом, хотя FAQ довольно понятный, другая документация скудна. Такую нехватку мы можем простить, ведь программа находится на стадии пре-альфа, и большинство функций пока не написаны, что уж говорить об их документации.

Мы надеемся, что работа над Anbox продолжится, потому что это — эффективный способ перенести приложения Android на Linux. Если вы хотите внести свой вклад в разработку, загляните на страницу помощи. При том, что файл закачки для самого Anbox всего 1.5 ГБ. единственное, что вам нужно принять во внимание — дерево разработки Android. Shashlik задействует установку Арк, но программа далеко не столь хорошо документирована.

Активность разработки эмулятора

Используя программу, мы хотим знать, как можно будет решать проблемы. Для этого нужна поддержка или постоянная разработка. В случае эмуляторов из нашего Сравнения, как и ожидалось, самыми активными являются Genymotion и приложения Google. Однако у Genymotion имеется солидный вклад в облако и иные профессиональные решения. поэтому любители могут оказаться отброшенными его корпоративным рвением. Естественно, Android Virtual Device тоже силен в этом отношении.

С остальными проектами всё менее ясно, и нам пришлось проверять их активность на их web-страницах и GitHub.

Android_х86 выпускал новую версию в июне 2017 г. и, возможно, выпустил еще одну до публикации нашего обзора. Этот проект очень активен — он буквально неостановим. Для его разработчиков и пользователей наступает самое волнующее время. Желая помочь разработке, имейте в виду, что исходное дерево более 10 ГБ. так что заготовьте место на диске.

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

У Shashlik не наблюдается явной активности на его web-странице или GitHub вот уже два года. К сожалению, возможно, придется признать крах этого проекта. Код всё еще доступен на GitHub, на случай, если найдется отважная душа со свободным временем и желанием приняться за разработку.

Доступность источника

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

Но это не всегда так. У всего от Google есть две ветви: одна для внутренней разработки и одна для публики. Google делает это, чтобы сохранять в секрете новые функции вплоть до выпуска. Постоянные разработчики и особо одаренные могут использовать общественную ветвь, чтобы присылать заплатки. В этом разделе мы рассмотрим, какие используются языки программирования и доступно ли дерево для скачивания. Мы также выясним размер дерева исходника. Помните, что дерево для одного пакета обычно поверх исходного кода ядра и инструментов разработки.

Всё дерево Android доступно на www.source.android.com. Пакет, который включает набор инструментов dev, весит около 10 ГБ, но будет умно отвести на него 20 ГБ.

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

Android_x86 имеет размер 4.5 МБ. поверх дерева ядра. Проект по большей части использует C++ и скрипты, в основном в оболочке. Этот проект интереснее всего, если вы хотите запускать Android на других устройствах, а не когда вы хотите тестировать приложения для мобильных устройств.

Исходник для скачивания Anbox невелик, всего 1.5 МБ. а программируется Anbox по большей части на C++. Если вы хотите изучить технологию контейнеров, вы можете взяться за некоторые задачи в этом проекте, поскольку именно она там используется. Если вы пожелали серьезно изучить самую важную используемую в настоящее время технологию, здесь-то и копайте. Anbox размещен на GitHub.

Genymotion реализует собственный код на C++, и большая часть его скриптов использует Perl. Скрипты используют модифицированное ядро для виртуальных машин. Их исходный код для скачивания весит 135 МБ.

Исходным кодом Shashlik, похоже, больше никто не занимается, но он доступен на GitHub. Есть даже ответвление, которое обновлялось в течение 2017 г., так что надежда не угасает. Кто-то сделал файл Docker, чтобы можно было запускать его с контейнерами Docker. Скачиваются 6 МБ. а программирование велось на C++ и С. Скрипты в основном написаны на Python.

Рекомендуем к прочтению: Самые быстрые и легкие дистрибутивы Linux

Выводы

Android стал ведущей ОС в смартфонах. Всё большая и большая часть сетевой активности имеет мобильное происхождение. Любой новый web-дизайн должен быть готов для мобильного использования. И любая попытка действий в Сети или в области программирования должна учитывать это. Чтобы ваша web-страница или программа достигла как можно большего количества людей, вам надо перенести ее на мобильный, если тут есть смысл для вашего приложения. Чтобы этого добиться, вы должны или напрямую писать его для мобильного, или найти решение, объединяющее оба подхода. В нашем обзоре мы рассматривали возможность сделать мобильные программы доступными на любом устройстве Linux.

Если вы хотите протестировать программу для разных устройств 8 нескольких сценариях, два коммерческих решения. Android Virtual Device и Genymotion, намного превосходят остальные. Для разработчиков они вполне универсальны и полезны.

Для тех, кто просто хочет запустить приложение или игру на своем рабочем столе, больше подойдут другие приложения. Anbox и Shashlik разработаны как раз для этой цели. К сожалению, они недостаточно зрелые для использования AVD. Android Studio — пакет, лучше всего подходящий для разработки приложений специально для Android. Они работают в тандеме для разработки и тестирования. Genymotion — еще одна весьма достойная среда для поддержки вашего тестирования.

Другие пакеты более интересны в случаях, когда вы используете существующие приложения. Кроме того, вы можете использовать их в качестве стартовой точки, если хотите больше узнать о С и C++, и, возможно. перейти к программированию ядра.

Anbox использует контейнеры Linux; Ixc — горячая тема для разработчиков. Здесь вы можете приобрести опыт, пригодный для других проектов, особенно в средах сервера.

Shashlik не лишен интереса, ведь этот проект неплохо стартовал, а поскольку над ним трудится очень мало людей, вы можете сами привести его в форму. Что касается виртуализации, Docker-файл доступен на GitHub, и вы можете изучить его, если хотите больше узнать о Docker. Найдите LXF227 и прочитайте о нем, а затем продолжайте свое приключение в области разработки для всех сред.

Понравилась статья? Поделиться с друзьями:
Комментарии: 2
  1. Sality

    Годная статья! Все неожиданно по полочкам. Большое спасибо )
    P.S. Очень понравился «шашлык», просто и удобно.
    Однако никто не смог запустить нужную игрульку — Archery King from Miniclip (

  2. серый волк

    Если представленные эмуляторы работают через виртуальный ПК, то не проще тупо установить андроид на VirtualBox? Зачем усложнять цепочку? Да и контейнерам этим я б не доверял — неизвестно, на какой заражённой машине его собрали.

Добавить комментарий