0

Эмулятор Android-устройств на VirtualBox в Ubuntu

Подробная пошаговая инструкция по установке и использованию эмулятора 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).

create-virtualbox-machine


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

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

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

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

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

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


Создаём раздел для установки:
install-android-os-create-partition


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


Теперь выбираем созданный раздел для установки системы:
install-android-os-select-partition


Форматируем раздел в ext3:
install-android-os-format-partition


install-android-os-format-partition-confirm


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


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


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


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

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

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

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

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

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

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

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

virtual-machine-boot-menu


virtual-machine-desktop


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

netcfg

На экране появится примерно такой вывод:
virtual-machine-console-netcfg


Нам нужно значение 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

Вывод в терминале будет примерно такой:
virtual-machine-adb-connect


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

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

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

android-studio-choose-device-virtualbox


После подтверждения, на экране устройства появится запрос на установку приложений из нового источника:
virtual-machine-desktop-accept-app-install


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

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

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

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

virtual-machine-usb-devices


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

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

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

virtual-machine-android-settings


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

Полезные ссылки

Android-x86 — Porting Android to x86 / Debug Howto
The vboxusers group

Инструкции по теме:

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