Как установить anbox на linux mint

Обновлено: 06.07.2024

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

Сегодня мы поговорим о том, как можно запустить приложения Android на Linux, а именно в операционной системе Ubuntu 18.04. Оказывается, для этого есть несколько путей.

Запуск Android-приложений в ОС Linux

1. Установка эмулятора Anbox

Первый метод запуска приложения Android на Linux — это использование Anbox. Это эмулятор Android с открытым исходным кодом, который устанавливается несколькими командами и позволяет запускать Android-приложения на Ubuntu.

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

sudo apt-get update

После этого начинаем установку Anbox. Сначала подключаем репозиторий:

Когда система спросит — нажимаем Enter. Ещё раз выполняем обновление списка пакетов:

sudo apt update

После этого устанавливаем ядро Anbox

После установки нужно один раз вручную запустить модули ядра. В будущем они будут стартовать сами.

Выполняем:
sudo modprobe ashmem_linux
sudo modprobe binder_linux

Устанавливаем Android Debug Bridge. Он нужен для корректной работы Android-приложений:

sudo apt install android-tools-adb android-tools-fastboot

Теперь устанавливаем, собственно, Anbox. Важно отметить, что пока это бета-версия, потому в ней возможны ошибки.

Маловероятно, но система может ругнуться «snap not found». Установите snap командой:

sudo apt install snapd

И попробуйте ещё раз. В процессе установки будет затребован пароль.

2. Использование эмулятора Anbox

После установки можно добавлять или удалять файлы с расширением APK. Это установочные пакеты программ на Android.

Для установки программы Android в Linux используем:

sudo adb install /the/location/of/file.apk

Для удаления, соответственно:

sudo adb uninstall /the/location/of/file.apk

Запускать Anbox можно как из списка программ, так и из терминала:

3. Установка эмулятора Genymotion

Второй эмулятор на сегодня весьма интересен. Начнём с того, что он — облачный. Во-вторых, он платный для коммерческого использования. Хотя в нашем случае хватит и бесплатной лицензии.

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

После тыкаем по красной кнопке Trial в верхнем правом углу.

Нас перебрасывает на новую страницу, откуда можно скачать необходимый файл. В нашем случае это файл с расширением bin. Запускаем закачку, а пока она идёт, установим VirtualBox (если вдруг он не установлен).

В терминале набираем:

sudo apt install virtualbox

Жмём Enter, вводим пароль, когда система попросит подтверждения, нажимаем y. По окончании установки набираем в терминале:

Эта команда выведет список директорий. Нам нужна Downloads или та, куда у вас по умолчанию скачиваются файлы. Вводим:

Жмём Enter, нас перебрасывает в папку. Снова вводим:

Это даёт нам список файлов в папке. Нас интересует genymotion-2.12.1-linux_x64.bin (в случае 32-разрядной системы genymotion-2.12.1-linux_x32.bin). Вводим:

sudo chmod +x genymotion-2.12.1-linux_x64.bin

Здесь можно ввести первые буквы имени файла и нажать Tab. Жмём Enter. Иначе это можно сделать, зайдя в папку Downloads, кликнуть правой кнопкой по файлу и дать ему права на выполнение.

После этого устанавливаем:

Нажимаем Enter, потом y, далее:

По нажатию Enter программа запускается. Теперь выбираем Sign in и авторизуемся с теми данными, с которыми мы регистрировались на сайте. Можно сразу выбрать Personal Use и авторизоваться уже там.

Принимаем условия EULA и — вуаля! У нас готовая к использованию система. Теперь вы знаете, как запустить Android приложение на Linux.

4. Запуск Android-приложений в Google Chrome Linux

В браузере для этого используется ряд расширений — chromeos-apk и ARChon. Сама же эмуляция функционирует, используя библиотеку Chrome App Runtime. Первоначально она появилась в Chrome OS, когда туда добавили поддержку Android. Для начала устанавливаем именно нестабильную версию Chrome (до релиза). В Терминале выполняем:

sudo nano /etc/apt/sources.list.d/google-chrome.list

Откроется окно Nano, туда вписываем следующее:

Записываем изменения комбинацией Ctrl+O, выходим - Ctrl+X. Важно! При выходе без предварительной записи данные не сохраняются!

Далее в терминале вводим:

Эта команда скачает ключ для доступа к deb-пакету. Теперь вводим команду, которая ниже, это добавит ключ:

sudo apt-key add linux_signing_key.pub

Обновляем список пакетов:

sudo apt update

После этого устанавливаем уже нестабильную версию браузера:

sudo apt install google-chrome-unstable

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

  • После запуска скачиваем и извлекаем из архива содержимое ARChon в любую директорию (можно даже по умолчанию);
  • Открываем Chrome и в настройках активируем Developer mode. Для этого идём в chrome://extensions/ или же открываем меню (которое с тремя точками);
  • Кликаем по Load unpacked extension и указываем распакованный ARChon. После этого расширение устанавливается.

Однако это ещё не всё. Теперь необходимо подготовить APK для установки (а вы думали, всё будет просто?). Сначала установим расширение chromeos-apk. Для этого инсталлируем библиотеку lib32stdc++6 командой в терминале:

sudo apt install lib32stdc++6

Сhromeos-apk устанавливаем, используя менеджер пакетов npm в том же терминале:

npm install chromeos-apk -g

Готово, теперь можно корректно распаковывать APK с помощью chromeos-apk и переводить его в расширение. В терминале вводим команду:

У нас получилось расширение для браузера Chrome. Открываем его в chrome://extensions/, после чего запускаем. Если вы всё сделали правильно, новенькая программа должна запуститься.

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

Выводы

В целом, есть ещё много способов запустить Android-программы в Ubuntu. Можно использовать эмулятор Shashlik или вообще поставить Android x86 в VirtualBox. Можно использовать QEMU и эмулировать даже железо (при условии, что у вас мощный ПК). В конце концов, если у вас куча свободного времени, можно даже поэкспериментировать со связкой Wine + какие-угодно-эмуляторы-под-другие-ОС. Правда, гарантий работы никто не даст 😊.

Если же серьёзно, то решения под Ubuntu 18.04 для работы с Android-приложениями есть. Остаётся выбрать.






Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Оцените статью:

(18 оценок, среднее: 4,00 из 5)

Об авторе

33 комментария

как всегда - все есть, но все через одно место

Это точно.
Для винды есть нормальные эмуляторы, для линукса нет.
Ни один из описываемых способов нормально не работает.
Genymotion платный, и работает намного хуже чем бесплатный BlueStacks (который только под виндовс).

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

Genymotion платен только для коммерческого использования. Пользуюсь им несколько лет и, на мой взгляд, он даже лучше, чем родной эмулятор, входящий в состав идешки Android Studio.

А Вы не устаете при каждой установке программ?

Genymotion бесплатный. Регишься и всё. Никто никаких денег с меня не просил.

Хоть кто то место нашенл , где все есть ))

Познавательная статья, кому-то может быть и пригодится. Android, хоть и основан на Ubuntu, достаточно "грязная" среда и ставить её приложение на относительно чистый Linux я бы не решился)

С чего вы взяли, что ведро основано на Ubuntu?!

Наверное связь построил :
Если Андроид построен на основе "Линукс", а Убунту это "Линукс", то Андроид=Убунту =))))))))))))

глупая связь: linux - ядро. вас не смутило, что есть кроме Ubuntu linux, ещё Debian linux, linux mint, red hat linux и так далее

Прикол в том что то что ты перечислил: Debian, mint и убунту одно и тоже считай.

Не удалось открыть сессию для виртуальной машины Google Pixel 2 - 8.0 - API 26 - 1080x1920.
VT-x is disabled in the BIOS for all CPU modes (VERR_VMX_MSR_ALL_VMX_DISABLED).
Код ошибки:
NS_ERROR_FAILURE (0x80004005)
Компонент:
ConsoleWrap
Интерфейс:
IConsole

P.S. ОС Linux Mint 19, Virtualbox v 5.2.10 Ubuntu r121806 Windows 7 на этой же виртуалке запускается нормально.

Обсуждает Миша Рыцаревъ: и а наоборот- а вот чтобы в какие смартфоны убунту можно было бы установить? (А то под этот "Андроид" жуть как много всякого малварьного срача- а под убунту-то его нет (нет его и под "яблокофоны". Но зато в них других недостатков хватает)).
И где можно купить смартфон (и планшет) с убунтой? (И бывают ли и такие андроидные модели, куда можно было бы поставить и две ОС? (Т.е. убунту рядом с "Андроидом")).

Существует ли такое ПО для обслуживания смартфонов, которое есть только под винду? (Не исключаю, что это еще и от модели (и от производителя) "гаджетофона" может зависеть). А в таких случаях будет ли такое ПО нормально работать из под "Wine"? (Ну или если и винду и какое надо ПО в виртуалке запустить, то тогда получится ли к такой винде кабелем смартфон потом подключить и проделать из под нее все так, как из под обычной?)

Anbox не эмулятор,а система запуска полноценной среды Android прямо на текущем ядре Linux с возможностью вывода интерфейса каждого приложения в отдельном окне с поддержкой 3D-ускорения.

Мое приложение работает совместно с USB - приставкой. Android Studio не поддерживает отладку с каналом USB. Стоит - ли пробовать для отладки Anbox?
Приложение установлю в XUBUNTU, а приставку подсоединю к USB.
XUBUNTU есть 32 битная и 64 битная.

Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]
Что с этим делать?

А как же qemu?
Лучше подскажите толковый бесплатный gui'вый дизассемблер под arm и aarch64, чтоб ещё пошагово отлаживать умел и содержимое регистров показывать/менять. ой, что-то я совсем много требую.

anbox не работает на Core2Duo . Ему нужен SSE 4.2

ошибка: snap "anbox" is not available on beta for this architecture (i386) but exists on
other architectures (amd64).
Что делать?

Привет залей куданибудь эту версию нигде не могу найти ее. Сейчас 3.01 на сайте.

При запуске Genymotion, выдает мне вот такое:

Сайт Genymotion - в глухой несознанке. Something went wrong. И обратная связь тоже 🙂

Если без GUI не работает, тогда прошу, подскажите легкую оболочку, безпроблемно отключаемую и не прописывающуюся в автозапуске.
Прошу помощи, я новичок, и найти не смог решения проблемы в интернете и на Вашем сайте.
Заранее спасибо.

Добрый день.
не получается установить ANBOX
у меня Linux mint 18.3 x64 cinnamon (INTEL)
вот что у меня происходит:

Оригинал: How To Install Anbox and Run Android Apps In Linux
Автор: Nick Congleton
Дата публикации: 4 февраля 2019 года
Перевод: А. Кривошей
Дата перевода: апрель 2019 г.

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

Установка Anbox в Linux

Установка Anbox

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

Установка Anbox в Ubuntu или Debian:

Anbox недавно был добавлен в репозитории Ubuntu и Debian. Если вы используете Debian Buster или Ubuntu Cosmic, у вас будет доступ к Anbox с помощью Apt. В противном случае перейдите к разделу snap.

Заголовки разделов

Установка Anbox в Arch Linux:

Anbox доступен в AUR. Вы можете установить его вручную или с помощью AUR helper.

С AUR helper процесс значительно упрощается.

Установка Anbox с помощью Snap

Snaps по-прежнему являются предпочтительным способом установки Anbox, и они являются единственным реальным вариантом в большинстве дистрибутивов. Убедитесь, что в вашей системе установлен и запущен snapd, и выполните следующую команду:

Вам, вероятно, придется перезагрузиться, чтобы заставить Anbox работать. Потребуется загрузить несколько модулей ядра.

Установка ADB

Вы можете запустить Anbox прямо сейчас, но инструменты, которые идут с ним, довольно ограничены. К сожалению, Google Play Store не является одним из таких инструментов. В результате вам понадобится Android Debug Bridge (ADB), чтобы вручную загружать APK-файлы Android в вашу виртуальную установку Android в Anbox. Эти инструменты легко доступны в большинстве дистрибутивов, поэтому вам не составит труда их получить.

Установка ADB в Ubuntu и Debian

Google разработал эти инструменты для Ubuntu, поэтому их очень легко установить в Ubuntu и Debian.

Установка ADB в Fedora

Инструменты для Android также несложно установить в Fedora. Они доступны в репозитории по умолчанию.

Установка ADB в Arch Linux

Arch Linux также имеет эти инструменты в репозиториях.

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

Скачивание APK

Скачивание приложений с APKMirror

Откройте браузер и перейдите в APKMirror. Вы заметите, что справа есть функция поиска. Используйте его для поиска приложения, которое вы хотите попробовать. Не выбирайте ничего, что потребует сервисов Google. Они не будут работать, так как в Anbox отсутствуют сервисы Google Play. Кроме того, не забудьте найти x86 APK. Хотя вы эмулируете Android, вы все еще используете обычный 64-битный процессор, а не ARM.

Подключение к Anbox

Запуск Anbox в Linux

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

Anbox в ADB

Откройте терминал и выполните приведенную ниже команду, чтобы запустить сервер ADB.

Сервер ADB запустится и отобразит Anbox как эмулированное устройство. Теперь вы готовы установить приложение.

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

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

Найдите APK, который вы загрузили. Затем выполните следующую команду, чтобы установить его в Anbox.

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

Заключение

Anbox - отличный способ опробовать приложения для Android на вашем ПК с Linux. Он пока не готов к ежедневному использованию и, конечно, не является системой производственного уровня. Тем не менее, вы можете делать некоторые действительно интересные вещи с Anbox, и он может быть отличным инструментом для разработчиков Android.


Это позволяет вам использовать многие приложения, как если бы они работали на вашем компьютере.

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

Из этого урока вы узнаете:

  • Как установить Anbox на Ubuntu и Debian
  • Как установить Anbox на Arch Linux
  • Как установить Anbox с помощью snapd
  • Как установить ADB в Ubuntu и Debian
  • Как установить ADB на Fedora
  • Как установить ADB на Arch Linux
  • Как установить приложения на Anbox

Как установить Anbox

Anbox приобрел некоторую популярность в основных дистрибутивах Linux.

В результате вы можете найти его в некоторых репозиториях.

Тем не менее, snap может быть самым простым способом настройки.

Оцените варианты и выберите наиболее подходящий для вас.

Как установить Anbox на Ubuntu или Debian

Если вы используете Debian Buster или Ubuntu Cosmic, у вас будет доступ к Anbox с помощью Apt. В противном случае перейдите к разделу Snap.

Как установить Anbox на Arch Linux

Anbox доступен в AUR. Вы можете получить его вручную или с помощью помощника AUR.

Если у вас есть помощник AUR, процесс намного проще.

Как установить Anbox с помощью Snap

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

Убедитесь, что в вашей системе установлена и запущена оснастка, и выполните следующую команду, чтобы установить Anbox.

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

К сожалению, одним из таких инструментов не является Google Play Store.

В результате вам понадобится Android Debug Bridge (ADB), чтобы вручную загружать APK-файлы Android в вашу виртуальную установку Android в Anbox.

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

Как установить ADB в Ubuntu и Debian

Google разработал эти инструменты для Ubuntu, поэтому их очень легко настроить на Ubuntu и Debian.

Как установить ADB на Fedora

Инструменты для Android тоже не сложны в Fedora. Они доступны в репозитории по умолчанию.

Как установить ADB на Arch Linux

Arch Linux также имеет инструменты в своих репозиториях.

Как установить приложения на Anbox

Это может показаться немного неловким, но вы быстро его подберете.

Откройте браузер и перейдите на APKMirror.

Вы заметите, что есть функция поиска справа от страницы.

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

е выбирайте ничего, что, как вы знаете, потребует услуг Google.

Они не будут работать, так как в Anbox отсутствуют сервисы Google Play.

Кроме того, не забудьте найти x86 APK.

Даже если вы эмулируете Android, вы все еще используете обычный 64-битный процессор, а не ARM.


Начнем с того, что 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

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

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

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

Устанавливаем Anbox в Ubuntu

Устанавливаем Anbox в Ubuntu

Реверс малвари

Arch Linux

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

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

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

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

Запустим container manager:

Запустим session manager:

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

Пробуем

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

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

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

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

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

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

FX File Explorer

FX File Explorer

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

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

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

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

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

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

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

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

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

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

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

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

Можно ли использовать 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?

А можно ли использовать другой образ 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

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

Выводы

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

Евгений Зобнин

Редактор рубрики X-Mobile. По совместительству сисадмин. Большой фанат Linux, Plan 9, гаджетов и древних видеоигр.

android apps linux 973b02c0

Хотите запустить свои любимые приложения и игры для Android на ПК с Linux? Anbox делает это легко. Давайте посмотрим как запустить приложения Android в Ubuntu.

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

Это может быть именно то, что вы ищете для повышения производительности настольных систем!

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

Для запуска приложений Android существует несколько инструментов для macOS и Windows (например, Bluestacks), но для Linux это недоступно.

Вместо этого пользователям Linux стоит попробовать Anbox, бесплатный инструмент с открытым исходным кодом для запуска приложений Android на Linux. Он основан на последней версии Android Open Source Project (AOSP) и предлагает оконную среду Android.

Anbox использует контейнеры для отделения Android от основной операционной системы, что позволяет запускать игры Android на Linux.

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

Несмотря на то, что Anbox является бесплатным, он поставляется в виде пакета snap. Это означает, что двоичный файл и все зависимости включены в один пакет, что облегчает установку.

Для установки snaps требуется служба snapd, которая совместима с такими дистрибутивами Linux, как:

  • Arch Linux
  • Debian
  • Fedora
  • Gentoo
  • Linux Mint
  • Manjaro
  • openSUSE
  • Solus
  • Ubuntu

Ubuntu snapd поставляется предустановленным, начиная с версии 14.04. Полную информацию о вашем дистрибутиве вы найдете на сайте Snapcraft.

Чтобы установить snapd, используйте следующую команду терминала:

sudo apt install snapd

Дождитесь завершения установки, прежде чем продолжить. Обратите внимание, что в то время как snapd работает или предустановлен в вышеперечисленных дистрибутивах, Anbox официально поддерживается в Ubuntu 16.04 LTS (Xenial Xerxes) и более поздних версиях. Однако для Ubuntu 20.04 LTS доступна только бета-версия, для которой требуются другие шаги (см. ниже).

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

Установка Anbox на Ubuntu 16.04 LTS и 18.04 LTS

Когда служба snapd установлена на вашем компьютере Linux, вы готовы к установке Anbox. Используйте следующую команду, которая установит все необходимое:

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

Введите свой пароль, когда появится запрос, и пакет snap загрузится.

Вскоре после этого вы увидите выбор:

  1. Установить Anbox
  2. Деинсталлировать Anbox

muo linux android anbox install choice 750 24f2bc82

Если позже вам понадобится удалить программу, просто повторно запустите вышеуказанную команду установщика и выберите вариант 2. В случае установки Anbox вы можете выбрать вариант 1.

После этого вы увидите краткое описание того, что будет сделано в процессе установки. Потратьте время на прочтение.

Вы увидите в списке файлы, добавленные из PPA. Также должно появиться уведомление о том, что программа выполнения anbox будет автозапускаться при входе в Linux. (Это программная библиотека, которая позволяет запускать другие программы и приложения).

muo linux android anbox install warning 750 95c2de97

Если вас все устраивает, введите I AGREE и дождитесь установки Anbox. После этого следуйте инструкциям по перезагрузке системы, прежде чем продолжить.

Установка Anbox в Ubuntu 20.04 LTS

Установка Anbox немного отличается на Ubuntu 20.04 LTS. Полный релиз программы не выходил с 2019 года, а изменения в ядре Linux за это время привели к необходимости выпустить Anbox только в виде бета-сборки.

Прочтите: Как обновить Ubuntu 21.10 Impish Indri Beta с версии 21.04

Во-первых, убедитесь, что snap установлен. Поскольку вы используете последнюю сборку Ubuntu, она должна быть установлена, но на всякий случай проверьте это:

snap find hello

Затем вы можете приступить к установке бета-версии Anbox:

sudo snap install --devmode --beta anbox

Подождите, пока он установится, затем перезагрузите компьютер.

Загрузка файлов APK на ваш компьютер Linux

muo linux android anbox apps list 1d3c1a69

Затем снова нажмите на значок в меню. Через несколько мгновений Anbox должен запуститься. (Это известная ошибка в дистрибутивах Ubuntu 16.04, и она не должна повлиять на более поздние дистрибутивы).

Запустив Anbox, вы увидите список основных приложений Android, которые можно запустить в Linux, например, Календарь и Электронная почта. Чтобы открыть эти приложения, просто щелкните по ним левой кнопкой мыши; они появятся в новых окнах, размер которых можно изменять по мере необходимости. Если вам нужен браузер, в комплект входит оболочка WebView Shell.

Установка приложений Android из Google Play и не только

Чтобы добавить собственные приложения и игры, достаточно загрузить (или скопировать с другого устройства) соответствующие файлы APK. Это файлы установщика, такие как DEB-файлы (или snaps) в Linux или EXE-файлы в Windows. Если вы запустите APK в Ubuntu с помощью Anbox, он установится как любое другое приложение Android.

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

Sideloading относительно прост. Вы можете использовать браузер и эти альтернативы Google Play для добавления программ в Anbox. Если вы выберете загрузку APK, вам нужно будет включить установку из неизвестных источников:

  1. Откройте меню Настройки на экране приложений
  2. Нажмите Безопасность
  3. Включить неизвестные источники
  4. Нажмите OK, чтобы согласиться.

Однако существует проект на GitHub, Anbox Playstore Installer, который делает процесс установки приложений в Anbox таким же простым, как на телефоне или планшете.

Для начала откройте Терминал и введите:

sudo apt install wget curl lzip tar unzip squashfs-tools

Сделайте его исполняемым:

chmod +x install-playstore.sh

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

Запустите Anbox, если он не загрузился автоматически:

Затем установите правильные разрешения в Android.

  1. Откройте Настройки
  2. Перейдите в раздел Приложения > Службы Google Play
  3. Нажмите Разрешения, затем включите все разрешения
  4. Повторите эти действия для Приложения > Google Play.
  5. Установите разрешения для Google Play

Теперь вы можете устанавливать в Anbox приложения Android из Google Play.

Другие способы запуска приложений Android в Linux

Хотя Anbox и является надежным вариантом, это не единственный способ запуска приложений Android на Linux. Наряду с Anbox вы также можете попробовать:

  • Genymotion
  • Android Studio
  • Archon

Существуют также две операционные системы на базе Android, совместимые с компьютерами x86, которые позволят вам устанавливать приложения Android:

Anbox может иметь некоторые проблемы со стабильностью. Тем не менее, обнадеживает тот факт, насколько просто настроить, установить и запустить приложения Android на Linux Ubuntu с помощью Anbox.

Читайте также: