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

Сегодня речь пойдет о запуске Android приложений на Linux системе без использования эмулятора.

Anbox

  • Что такое Anbox?
  • Менеджер приложений
  • Чем отличается от Shashlik
  • Как работает Anbox

Что такое Anbox?

Анбокс - это что-то типа вайн, только для запуска андроид-приложений. Анбокс использует технологию контейнеризации, что позволяет запускать приложения на железе и ядре хоста с производительностью сравнимой с нативной. Для запуска приложений используются контейнеры LXC и (пока что) модули ядра, собираемые через DKMS.

От других эмуляторов отличается хорошей производительностью, опенсурсностью (ЖПЛв3), наличием под онтопиком и неплохой интеграцией с хостом. Ну как, интеграция с хостом определённо превосходит любые решения с ВМ и почти так же хороша, как в ARC.

Сразу после запуска вы увидите на экране простейший «менеджер приложений», написанный специально для Anbox. Приложений тут кот наплакал: стандартные галерея, календарь, настройки и прочее, а вот маркета нет. И поэтому первое, о чем вы спросите: а как ставить приложения на 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.apk FX 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. А вот со старым софтом могут возникнуть сложности, хотя обычно все заканчивается окном фиксированного размера.

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


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

FAQ Anbox

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

Кнопка «Назад» эмулируется с помощью 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

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

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

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

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

Каждое приложение в своем собственном окне Anbox размещает с помощью модифицированного композитного менеджера hwcomposer, который Android использует для наложения графических слоев. Hwcomposer запрашивает все слои каждого приложения и отдает их 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–4 подготавливают Anbox и запускаются один раз, обычно при загрузке системы.

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


Выводы

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

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

В эмуляторах для 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


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

$ chmod +x anbox-installer

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

$ sudo ./anbox-installer

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

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

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

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

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

Затем введите цифру 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 сможете получить куда более функциональное решение. Но можно поступить проще и установить в обычном режиме сторонний магазин приложений.

Ранее как-то наткнулся на материал об расширении ARC Welder для браузера Google Chrome с помощью которого можно установить и пользоваться приложениями андрод формата apk, то есть у вас на компьютере лежит файл формата apk, вы запускаете расширения ARC Welder где вам предлагается выбрать именно этот файл с вашего компьютера, а далее можно установить и пользоваться.

Читал в сети как ранее пользователи Ubuntu Linux пользовались данным расширением и устанавливали себе в Ubuntu клиент для твиттера или для вконтакте, очень хорошо получалось, общаешься себе с друзьями и в правом нижнем уголке монитора появляются сообщения в стиле Ubuntu на подобии как вконтакте. Как-то был решил установить данное расширение в хроме версии 46, но увы как писалось расширение уже перестало стабильно работать и доступно лишь для версий 37 не выше. Желания сносить свою 46 версию у меня не было.

  • Решил я поискать в сети альтернативу эмулятора андроид для платформы Linux, выбор конечно невелик и выбирать мало с чего, но все же нашел один эмулятор под название Genymotion, что он с себя представляет спросите вы.

Genymotion - это очень шустрый эмулятор Android, который содержит в себя укомплектованные и настроенные образы Android (x86 с аппаратным ускорением OpenGL), идеальный вариант для тестирования приложений если вы разрабатываете приложения для андроид платформы. Ранее этот проект работал в одном общем под названием AndroidVM, после отсоединился перерос в что-то большее и стал называться Genymotion, который имеет новый дизайн плеера, установщик и много других вкусняшек.

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

Genymotion кроссплатформенный эмулятор и доступен для Linux, Windows и Mac OS X, это еще не все, для своей работы требуется чтобы на компьютере был установлен VirtualBox . Genymotion очень связан с виртуалбоксом, так как при добавлении виртуальной машины происходит интеграция и виртуалка создается в автоматическом режиме в VirtualBox, для тестирования приложений или же просто для того чтобы установить любое из приложений в любом из понравившихся смартов любой из доступных моделей в списке, нам нужно добавить устройство и после просто нажать кнопку для загрузки ядра андроид под эту модуль.

  • Все происходит очень быстро, я тестировал лишь для модели Google Nexus 4, загрузило вроде метров 150 или 160, все быстро установилось, что требуется для запуска виртуального устройства для тестирования? Вам нужно прежде запустить VirtualBox, далее вы увидите в списке новое устройство, это и будет то устройство которое мы добавили в Genymotion , нажимает кнопку "Запуск". После того как машина запустится и вы увидите, что ядро заработало, просто свертываем окно приложения и выделяем модель устройства которую мы добавили в Genymotion и нажимаем кнопку "Play", после запустится андроид и можно приступать к тестированию.

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

Как видите я при регистрации выбрал, что я как бы 1 пользователь тестировщик и более ничего лишнего ненужно писать, после вам на почту придет сообщение о подтверждении регистрации, подтверждаем, после выбираем Free тариф на сайте и переходим по ссылке - https://www.genymotion.com/#!/download в колонке выбираем последнюю нужную нам Linux, вот здесь вы увидите два пакета как для 32-bit так и для 64-bit.

Приложение скачивается в формате bin, здесь нет никакой сложности и устанавливается все очень легко. После загрузки файла формата bin под вашу архитектуру, перейдем в терминал и выполним следующие команды:

cd /home/linux/Загрузки/
sudo chmod a+x genymotion-2.5.2_x86.bin
sudo ./genymotion-2.5.2_x86.bin

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

:~/Загрузки# ./genymotion-2.5.2_x86.bin

Installing to folder . Are you sure ? y
- Trying to find VirtualBox toolset ……………….. OK (Valid version of VirtualBox found: 5.0.10r104061)
- Extracting files ………………………………. OK (Extract into: )

Installation done successfully.

You can now use these tools from :
- genymotion
- genymotion-shell
- gmtool

  • У вас будет что-то подобное где просто придется ввести Y(Yes/Да), то есть соглашаемся на установку, в большей мере это даже и не установка, файл формата bin содержит внутри себя архив с папками для работы приложения, после выполнения команды выше, произойдет обычная распаковка файлов в директорию Загрузки. После распаковки вы увидите папку с названием "genymotion ".
  • Перейдя в которую вы найдете файл с названием genymotion, но это исполняющий файл, кликнем двойным кликом по файлу genymotion и запустится приложение.
  • После увидим интерфейс приложения, в открывшемся окне нам сразу же предлагается добавить виртуальное устройство для тестирования, я конечно авторизован уже и мне это сразу же отображается, вам для этого нужно будет залогиниться в интерфейсе программы и лишь после сможете добавлять виртуальные девайсы для тестирования.
  • Нажав на клавишу Yes , мы увидим большой список предлагаемых моделей устройств для создания виртуальной машины в Virtual Box, выбираем интересующее вас.
  • Выше имеются вкладки фильтров и вы можете так же выбрать любую из доступных версий андроида для устройства или же выбрать определенную модуль устройств и отфильтровать как вам нужно. Выбрали мы интересующее нас устройство которое выделив кликом мыши по нему, далее жмем кнопку "Next ".
  • Образ виртуального дейваса загружен, жмем кнопку "Finish ", далее запустим VirtualBox и проверим, там уже должно быть добавлено наше устройство.
  • Видим, что новое устройство добавлено автоматически как и должно быть, нажмем на кнопку "Запустить " и дождемся старта ядра нашего виртуального девайса.
  • Как видим ядро запустилось, все хорошо, можем свернуть окно виртуалки не закрывая, теперь перейдем в интерфейс приложения Genymotion где выделим нашу добавленную машину и нажмем кнопку "Start ", и дождемся пока запустится наш виртуальный девайс Google Nexus 4 , в моем случае, вы же можете добавить другое и соответственно запускаем свое.

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

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

Здравствуйте, дорогие читатели лучшего мобильного портала сайт! В этой статье, я расскажу вам о запуске полноценных операционных систем на Android. Сегодня, речь пойдёт о двух операционных системах - Windows XP и Linux. Итак, приступим к делу.

LINUX

Начнем с более легкой инструкции - запуск Linux на Android. Для начала предупрежу, что для данного способа нужны ROOT права. Также, если вы используете смартфон на базе Android 5.0 Lollipop, Android 6.0 Marshmallow или более поздней версии, то вам нужно кастомное ядро. В этой статье используется Nexus 5 с установленным ядром «ElementalX». Итак, приступим.

Инструкция:
1. Для начала, нужно скачать и установить программу BusyBox, которая является обеспечением большинства стандартных инструментов Unix.

2. Далее, скачиваем и устанавливаем программу Linux Deploy, это главный компонент и без него у нас ничего не получится, так как он скачивает дистрибутив из официального зеркала, создает образ диска на microSD карте, монтирует его и устанавливает дистрибутив операционной системы.
3. Открыв приложение Linux Deploy, переходим в конфигурационную панель. Здесь, выбираем какой дистрибутив вы хотите использовать. В данной стать будет использоваться выбранный по умолчанию дистрибутив Debian в среде LXDE.

4. Выбрав дистрибутив, нажимаем на кнопку установить. Установка длится около 30 минут.
5. По окончанию установки, приложение запустит среду Linux и сама настроит рабочее окружение, которое включает в себя базовую систему, сервер SSH, сервер VNC и графическую среду которую мы выбрали ранее. Также, можно через программу можно настроить сервера SSH и VNC.
6. Вы можете подключиться как и через SSH, так и через VNC, я использую сервер VNC, но вы можете использовать какой хотите.
7. Если вы подключились через сервер SSH, введите порт «22», а пароль по по умолчанию «changeme».
8. Если вы, как и я, хотите подключиться через сервер VNC, скачайте программу VNC, запустите ее и в поле впишите адрес «localhost:5900», пароль по умолчание, такой же как и у сервера SSH - «changeme».

9. Радуйтесь запущенным дистрибутивом Linux!

Windows XP

Теперь, о более сложном - запуск Windows XP на Android. Вы скажете как? Ответ прост - Bochs. Именно с этим приложением мы будем эмулировать Windows XP. Bochs - это программа, которая эмулирует операционные системы на базе x86, оно было создано для эмуляции таких операционных систем как, Windows DOS, Windows 3.1, Windows 95, Windows 98. Но сегодня мы попробуем более сложную задачу. Важно отметить, что работа Windows XP будет очень-очень медленна, а также, не будет соединения с интернетом, так что, если у вас есть терпение и вас не интересуют проблемы, которые могут возникнуть, то вперед! Итак, начнем.

Что нужно:
1. ISO файл Windows XP
2. Qemu Manager для ПК
3.
4. Bochs SDL
5. Blank Disk Image

Инструкция:
1. Откройте Qemu Manager для ПК и создайте новую виртуальную машину. Назовите ее как хотите, в данном случае ее название будет «XP».

2. Впишите сколько оперативной памяти вы хотите выделить для виртуальной машины, этот шаг только для ПК, на Android девайсе это никаким образом не скажется. Выберите опцию «не использовать виртуальный диск». Нажмите «далее».

3. Следующим шагом, нужно перейти в вкладку драйверов и выберите «жесткий диск 0». Далее выберите путь к ранее скачанном «Blank Disk Image».

5. Наконец, выполнив все пункты, выберите зеленую кнопку в левом верхнем углу, чтобы запустить виртуальную машину. С этого момента, просто установите Windows XP на виртуальную машину как на простой ПК.

6. После того, как установка завершится, разархивируйте.zip файл Bochs SDL. Переместите «Blank Disk Image» в папку SDL. Переименуйте файл «Blank Disk Image» в «c».

8. Скачайте и установите приложение Bochs на Android. Далее, откройте его. Приложение само должно определить наличие Windows XP и запустить ее. Помните, это работает очень-очень медленно!

Чтобы загрузиться на рабочий стол операционной системы Windows XP, нужно подождать как минимум, 10 минут.

9. Радуйтесь запущенной Windows XP!

На этом все. Всем спасибо за внимание!

Подробная пошаговая инструкция по установке и использованию эмулятора VirtualBox для использования совместно с Android Studio в ОС Ubuntu. Основная задача: использовать виртуальное устройство в VirtualBox для разработки и запуска приложений из Android Studio.

Особенно актуально использование интерфейса Bluetooth в виртуальном устройстве VirtualBox, т.к. большинство эмуляторов его не поддерживает. С помощью этой инструкции можно подключить виртуальную машину к интерфейсу Bluetooth компьютера.

1. Установка VirtualBox

VirtualBox можно установить через «Центр приложений Ubuntu». После установки через терминал следует добавить текушего пользователя в группу vboxusers, это нужно для того, чтобы иметь доступ к реальным USB-устройствам через VirtualBox:

Sudo adduser имя_пользователя vboxusers

имя_пользователя — имя текущего пользователя Ubuntu.

После этого следует перезапустить сеанс пользователя или перезагрузиться.

2. Создание виртуальной машины VirtualBox

Создадим виртуальную машину с произвольным именем, на основе Linux / Other Linux (32-bit).



Оперативная память будет 512 Мб, этого вполне достаточно.
Далее создадим новый виртуальный диск, лучше использовать не менее 2 Гб, т.к. система займёт порялка 700 Мб. Тип диска VDI (VirtualBox Disk Image), фиксированный виртуальный жёсткий диск.

Если создать слишком маленький по объёму виртуальный диск, можно поймать ошибку:
Failure , лечится увеличением объёма виртуального диска.

3. Установка ОС Android

Перед установкой системы Android следует скачать её образ c android-x86.org . В данной инструкции использован образ

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

Выбираем установку системы:




Создаём раздел для установки:




В указанном ниже диалоге выбираем «New» / «Primary», оставляем полный размер виртуального диска, далее маркируем диск как «Bootable», нажимаем «Write» и «Quit»:




Теперь выбираем созданный раздел для установки системы:



Форматируем раздел в ext3:








Соглашаемся на установку загрузчика GRUB:




Соглашаемся на установку прав чтения/записи для файловой системы, это пригодится в будущем:




Установка завершена, проверим установку запустив эмулятор:




При первом запуске нужно выполнить настройки ОС Android. Подключаться по Wi-Fi не нужно, вводить данные аккаунта Google тоже.

4. Настройка виртуальной машины

Перед изменением настроек виртуальную машину нужно выключить.

Основная настройка, которую важно указать, это режим сетевого подключения, нам нужен «Сетевой мост» (bridge). Так как в моём случае все устройства подключены через роутер по Wi-Fi, я выбрал интерфейс wlan0, а не eth0.


В разделе «Система» следует установить редим работы манипулятора курсора «PS/2 мышь», при таком режиме манипулятора удобно работать с ПК. В той же вкладке можно отключить устройство «Дискета».

Полезно дополнительно увеличить размер видеопамяти до 32 Мб в разделе «Дисплей».

5. Получение IP-адреса виртуального устройства

Запускаем виртуальную машину и ждём окончания загрузки.








Для определения IP-адреса виртуального устройства нужно в нём запустить консоль сочетанием Alt+F1 (вернуться в GUI-режим можно сочетанием Alt+F7). В консоли набираем команду:

На экране появится примерно такой вывод:




Нам нужно значение IP-адреса интерфейса eth0, через который работает наше устройство в виртуальной машине.

6. Подключение виртуального Android-устройства

В терминале Ubuntu переходим в директорию установки Android SDK, раздел инструментов, в моём примере это /opt/android-sdk-linux/platform-tools/:

Cd /opt/android-sdk-linux/platform-tools/

Остановим adb, этого делать не обязательно, но в некоторых случаях необходимо:

./adb kill-server

Подключим виртуальное устройство по IP-адресу, который мы недавно узнали, указав порт 5555:

./adb connect 192.168.1.65:5555

Вывод в терминале будет примерно такой:




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

7. Запуск приложений в эмуляторе VirtualBox

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




После подтверждения, на экране устройства появится запрос на установку приложений из нового источника:




Теперь можно работать с устройствами VirtualBox в Android Studio.

8. Использование реального Bluetooth-устройства через эмулятор VirtualBox

Задача крайне актуальна для разработчиков под Android, которые разрабатывают приложения для связи по Bluetooth. Чтобы не покупать второе Android-устройство, можно обойтись его виртуальным заменителем.

Чтобы эмулятор имел доступ к Bluetooth-адаптеру, встроенному или внешнему, нужно в настройках виртуальной машины добавить нужное устройство в список доступных, это делается на вкладке настроек «USB»:




После нажатия на иконку добавления устройства (со знаком «+»), на экране появится список доступных устройств, как правило это видеокамера, адаптер bluetooth и wi-fi, кардридер и т.п.

Если никакого списка устройств не появилось, то, скорее всего, текущий пользователь системы не состоит в группе vboxusers. Как это исправить описано в первом пункте в начале статьи.

Выбираем нужное устройство и запускаем виртуальную машину.




В настройках доступен интерфейс Bluetooth.

Loading...Loading...