VirtualBox — как альтернатива эмулятору ARM в Android SDK. Установка, настройка, подключение к среде разработки Eclipse и интернету
Наверняка многие из вас имели дело с эмулятором, поставляемым в комплекте Android SDK от компании Google. И, вероятно, очень многих разочаровала крайне медленная работа данного эмулятора, начиная от загрузки и заканчивая медленной работой вашего приложения. Речь идет об эмуляторе системы Android с поддержкой команд ARM-процессоров. Но ведь есть же в SDK образы системы Android для x86 процессоров, скажут многие, и будут правы. Но дело тут в том, что для эмуляции OS Android с поддержкой виртуализации x86-процессоров необходимо приложение HAXM от Intel, которое отказывается устанавливаться на компьютеры с процессорами фирмы AMD. Есть ли выход из данной ситуации для владельцев систем на базе AMD?
Ответ есть! И он заключается в использовании VirtualBox — свободнораспространяемой системы эмуляции с поддержкой виртуализации от фирмы Oracle. И не верьте тем, кто говорит, что настроить интернет на виртуальной машине можно только со специальным образом Андроида с поддержкой Ethernet. Поддержка Ethernet’а есть везде, просто в меню настроек Андроида нет такого пункта.
Что же нам нужно для успешной отладки своих приложений в виртуальной машине VirtualBox и настройки интернета?
Для этого необходимо скачать и установить последнюю версию VirtualBox’а, а так же скачать нужные вам образы ОС Android вот отсюда: http://www.android-x86.org/download
Запускаем VirtualBox и создаем виртуальную машину с такими параметрами:
Выделяем 256 Мб оперативной памяти, 128 Мб для видеоадаптера и создаём виртуальный диск размером 1 Гб (можно большего и меньшего размера под ваши потребности) типа VHD.
В настройках виртуальной машины подключаем скачанный образ системы Android:
Запускаем нашу виртуальную машину и видим:
Выбираем установку ОС «Андроид» на наш виртуальный жесткий диск и жмем Enter.
Далее выбираем первый пункт меню «Create/Modify partitions» и опять жмём Enter.
Теперь нужно создать первичный раздел Linux.
Выбираем пункт New, затем Primary, видим что-то вроде «Size (in MB): 1069,29» и жмём Enter, далее опять нажимаем Ввод на пункте Bootable и затем выбираем пункт Write.
На вопрос записать ли таблицу разделов на жесткий диск, вводим слово «yes».
После жмём на пункт Quit и видим следующее меню:
Выбираем первый пункт меню и далее выбираем пункт меню ext3 и жмём Ввод, далее нас спросят «Do you want to install boot loader GRUB?» — выбираем Yes, нажимаем Ввод. Далее нас спросят, «хотим ли мы, чтобы директория /system была доступна для чтения/записи?» — также выбираем Yes и нажимаем клавишу Ввод.
Если вы сделали все правильно, то вы увидите вот такую картинку с процессом установки ОС «Андроид» на виртуальный диск:
Поздравляю! Вы только что установили ОС «Андроид» для систем на базе x86-процессоров на виртуальный диск вашей виртуальной машины.
Но радоваться пока еще рано.
Теперь вы должны увидеть следующее окно:
Выбирите в этом окне пункт меню Машина, затем пункт Закрыть. нажмите на чекбокс «Выключить» и нажмите кнопку Ok.
После того, как вы выключили виртуальную машину, вы должны убрать из виртуального CD-привода образ с системой Андроид: Изъять диск из привода. Он нам больше не понадобится.
Далее в консоли либо в файл-менеджере типа Far создаем командный файл с расширением .bat, например s.bat, и прописываем в нём следующие команды:
Этим мы устанавливаем доступные для нашей виртуальной системы разрешения экрана, которые нам предпочтительно использовать. Жмём Ввод, и все изменения будут внесены в конфигурационные файлы виртуальной машины. Обратите внимание на имя вашей виртуальной машины, в моём примере это «Android 4.0 RC2».
После этого запускаем нашу виртуальную машину:
На первом пункте меню «Android-x86 4.0-RC2» нажимаем клавишу с латинской буквой «A», появится меню с конфигурационной строкой загрузки ОС в конце которой
будет написано «SRC=/android-4.0-RC2», после букв RC2 ставим пробел и пишем «vga=ask» и жмём Ввод. Потом еще раз Ввод. Появится вот такой экран:
Видим 4 созданные нами ранее видеорежима. Набираем на клавиатуре «361» и давим Ввод:
Далее настраиваете ваш Андроид как вам удобно. Не забывайте в меню виртуальной машины выбрать пункт «Машина» и пункт «Выключить интеграцию мыши». После этого вы можете кликнуть левой кнопкой мыши на окне с Андроидом и управлять им с помощью мышки. Выход из этого режима (по умолчанию) клавиша правый Ctrl.
Если Андроид впал в спячку и не реагирует на мышку, то пробудить его можно клавишей «контекстное меню» (нарисовано меню со стрелкой курсора), которая должна располагаться рядом с клавишей «Windows» (с изображением флага).
А теперь самое время подключить нашу среду разработки к виртуальной машине!
В меню окна нашей виртуальной машины жмем «Машина», «Настроить. », «Сеть», «Проброс портов», давим на иконку «+» и создаем новое правило для проброса портов:
IP адрес хоста 127.0.0.1, а IP гостя в моём случае 10.0.2.15. Узнать IP гостя можно следующим образом: в окне с Андроидом жмём комбинацию «Alt+F1» (выход из консоли «Alt+F7»). Попадаем в консоль, где вводим команду netcfg и давим Ввод:
Теперь после проделанных ранее манипуляций, пишем в консоли Windows «adb connect 127.0.0.1:5556» и вуаля!
А теперь самое вкусное!
Смотрим в настройках вашей сети DNS адреса провайдера,
Нажимаем в окне Андроида «Alt+F1» и вводим (в моем случае это DNS адрес 80.243.64.67):
(Вы должны ввести DNS адрес своего провайдера интернета).
Источник
Android x86 с эмулятором ARM на большом экране
Доброго времени суток.
Под катом я расскажу, как мне удалось запустить Android на eeePC и подключить к нему большой телевизор.
Дано:
Старый ноутбук с WiFi (Ethernet работать не будет)
Большой монитор или телевизор
Задача:
Установить Android на ноутбук, подключить телевизор к ноутбуку как внешний монитор.
Установить эмулятор ARM для запуска игр с нативным кодом.
Установка Android на ноутбук
1. Качаем ISO образ Android-x86-4.0-RC2 для своего ноутбука с android-x86.org/download. Обязательно ставим RC2 если далее будем устанавливать эмулятор ARM.
2. Записываем ISO на диск или на флэшку с помощью unetbootin Загружаемся с внешнего носителя и устанавливаем Android на ноутбук.
3. Обязательно устанавливаем GRUB и системную директорию в режим read/write.
Итак получили ноутбук с Android на борту. Но многие программы не работают. Нужно установить эмулятор ARM и очень много программ заработает.
Установка эмулятора ARM
1. Качаем библиотеки для эмулятора: libhoudini.so, libvdm_houdini.so, houdini_armlibs.tgz
Или все одним архивом.
2. Передаем библиотеки на ноутбук. Проще всего сразу скачать библиотеки прямо на ноутбук. Скачанные файлы можно найти в папке /sdcard/Download. Можно отправить файлы себе письмом и открыть письмо на ноутбуке.
3. Нужно разархивировать houdini_armlibs.tgz в папку arm и скопировать файлы libhoudini.so, libvdm_houdini.so и папку arm в /system/lib.
Для этого переходим в консоль (Alt + F1) и выполняем следующие команды.
cd /sdcard/Download
mkdir arm
mv houdini_armlibs.tgz arm/
cd arm
tar –xzf houdini_armlibs.tgz.
rm houdini_armlibs.tgz
cd…
cp lib* /system/lib/
cp –r arm /system/lib/
reboot
После перезагрузки заработают многие приложения, которые падали до этого.
Подключение большого монитора
Если просто взять и подключить внешний монитор к ноутбуку, то обнаружится, что Android не выводит на него графику.
Нужно добавить несколько параметров к загрузке ядра. Лучше всего создать в GRUB отдельный пункт меню для загрузки с внешним монитором.
1. Перегружаем ноутбук и загружаемся в Debug mode.
2. Открываем файл /mnt/grub/menu.lst для редактирования
vi /mnt/grub/menu.lst
3. Переходим в режим редактирования, нажимая “I”. Копируем первый пункт меню и дописываем такие параметры к загрузке ядра
video=LVDS-1:d video=800×600 UVESA_MODE=800×600 DPI=240
4. В итоге получим такой файл.
5. Сохраняемся. Esk. Shift +: Набираем x и далее Enter.
6. Перегружаем.
В итоге получили возможность загрузиться и работать с внешним монитором.
Подключаем беспроводную клавиатуру и система готова.
Update. Параметр DPI=240 позволил убрать тормоза при воспроизведении видео с youtube.
Источник
Arm emulator windows android
Описание:
Порт qemu-system-arm под Android.
Описание (переведённая на русский выдержка из документации):
Для платы ARM Integrator/CP эмулируются следующие устройства:
— Процессор ARM926E, ARM1026E, ARM946E, ARM1136 или Cortex-A8
— Два UART PL011
— Сетевая карта SMC 91c111
— LCD-контроллер PL110
— PL050 KMI с PS/2-клавиатурой и мышью
— Интерфейс MMC PL181 и карта памяти
Для платы ARM Versatile эмулируются следующие устройства:
— Процессор ARM926E, ARM1136 или Cortex-A8
— Векторный контроллер прерываний PL190
— Четыре UART PL011
— Сетевая карта SMC 91c111
— LCD-контроллер PL110
— PL050 KMI с PS/2-клавиатурой и мышью
— Шина PCI. Обратите внимание, что она обеспечивает доступ лишь к пространству памяти, но не IO. Это означает, что некоторые устройства (например, ne2k_pci NIC) непригодны для использования, а другие (например, rtl8139 NIC) могут использоваться только в том случае, если гостевые драйверы используют управляемые регистры памяти.
— PCI OHCI USB-контроллер
— Адаптер LSI53C895A PCI SCSI с поддержкой жёстких и компакт-дисков
— Интерфейс MMC PL181 и карта памяти
Поддерживается несколько вариантов ARM RealView, включая EB, PB-A8 и PBX-A9. Из-за особенностей взаимодействия с загрузчиком, на этих платах будут работать только определенные конфигурации ядра Linux.
Ядра для платы PB-A8 должны иметь включенными параметры CONFIG_REALVIEW_HIGH_PHYS_OFFSET и быть рассчитаны 512 МБ ОЗУ. Ядра для платы PBX-A9 должны иметь включенным параметр CONFIG_SPARSEMEM и отключенным параметр CONFIG_REALVIEW_HIGH_PHYS_OFFSET, а также быть рассчитаны на 1024 МБ ОЗУ.
Эмулируются следующие устройства:
— Процессор ARM926E, ARM1136, ARM11MPCore, Cortex-A8 или Cortex-A9 MPCore
— Контроллер прерываний ARM AMBA
— Четыре UART PL011
— Сетевая карта SMC 91c111 или SMSC LAN9118
— LCD-контроллер PL110
— PL050 KMI с PS/2-клавиатурой и мышью
— Шина PCI
— PCI OHCI USB-контроллер
— Адаптер LSI53C895A PCI SCSI с поддержкой жёстких и компакт-дисков
— Интерфейс MMC PL181 и карта памяти
Для КПК на базе XScale («Spitz», «Akita», «Borzoi» и «Terrier») эмулируются следующие устройства:
— Intel PXA270 SoC (ядро ARM V5TE)
— Флэш-память NAND
— Жесткий диск IBM/Hitachi DSCM в PXA PCMCIA-слоте — кроме «Akita»
— Интегрированный OHCI USB-контроллер
— Интегрированный LCD-контроллер
— Встроенные часы реального времени
— Cенсорный экран TI ADS7846 на шине SSP
— Аналого-цифровой преобразователь Maxim MAX1111 на шине I2C
— Контроллер клавиатуры, подключенный к GPIO, и светодиоды
— Карта памяти, подключенная к интерфейсу PXA MMC/SD
— Три встроенных UART
— Декодер WM8750 на шине I2C или I2S
Для КПК Palm Tungsten E (кодовое название «Cheetah») эмулируются следующие устройства:
— Texas Instruments OMAP310 SoC (ядро ARM 925T)
— ROM и RAM-память (образ прошивки может быть загружен с помощью -option-rom)
— Интегрированный LCD-контроллер
— Встроенные часы реального времени
— Сенсорный экран TI TSC2102i / аналого-цифровой преобразователь / декодер, подключенные через интерфейс MicroWire или I2S
— Матричная клавиатура, подключенная к GPIO
— Карта памяти, подключенная к интерфейсу OMAP MMC/SD
— Три встроенных UART
Для планшетов Nokia N800 и N810 (также известны как RX-34 и RX-44/48) эмулируются следующие устройства:
— Texas Instruments OMAP2420 SoC (ядро ARM 1136)
— ОЗУ и энергонезависимая флэш-память OneNAND
— Дисплей, подключенный к удаленному кадровому буферу EPSON, видеоконтроллер OMAP и контроллер LS041y3 MIPI DBI-C
— Сенсорные экраны TI TSC2301 (в N800) или TI TSC2005 (в N810), управляемые шиной SPI
— QWERTY-клавиатура, управляемая платой National Semiconductor LM8323 на шине I2C
— Карта памяти, подключенная к интерфейсу OMAP MMC/SD
— Три встроенных OMAP UART и консоль отладки STI
— Приемопередатчик Bluetooth(R) и HCI, подключенные к UART
— USB-контроллер Mentor Graphics «Inventra», встроенный в чип TI TUSB6010 — поддерживается только режим USB-хоста
— Датчик температуры TI TMP105, управляемый шиной I2C
— Плата управления питанием TI TWL92230C с часами реального времени на шине I2C
— Многоцелевые чипы Nokia RETU и TAHVO с часами реального времени, подключенные через CBUS
Для Luminary Micro Stellaris LM3S811EVB эмулируются следующие устройства:
— Ядро процессора Cortex-M3.
— 64 КБ флэш-памяти и 8 КБ SRAM.
— Таймеры, UART, ADC и шина I2C.
— OSRAM Pictiva 96×16 OLED с контроллером SSD0303 на шине I2C.
Для Luminary Micro Stellaris LM3S6965EVB эмулируются следующие устройства:
— Ядро процессора Cortex-M3.
— 256 КБ флэш-памяти и 64 КБ SRAM.
— Таймеры, UART, ADC, интерфейсы I2C и SSI.
— OSRAM Pictiva 96×16 OLED с контроллером SSD0323, подключенным через SSI.
Для интернет-радио Freecom MusicPal эмулируются следующие устройства:
— Ядро Marvell MV88W8618 ARM
— 32 МБ RAM, 256 КБ SRAM, 8 МБ флэш-памяти
— До двух 16550 UART
— Сетевая карта MV88W8xx8
— Звуковая плата MV88W8618, декодер WM8750 и микшер
— Дисплей 128×64 с регулировкой яркости
— Две кнопки, два колесика навигации с функциями кнопок
Модели Siemens SX1 v1 и v2 (по умолчанию). Эмулируются следующие устройства:
— Texas Instruments OMAP310 SoC (Ядро ARM 925T)
— ROM и RAM-память (образ прошивки может быть загружен с помощью -pflash), V1 (16 и 8 МБ), V2 (32 МБ)
— Интегрированный LCD-контроллер
— Встроенные часы реального времени
— Карта памяти, подключенная к интерфейсу OMAP MMC/SD
— Три встроенных UART
Тестовый образ Linux 2.6 доступен на сайте QEMU. Более подробную информацию можно найти в архиве списка рассылки QEMU.
Следующие параметры относятся к эмуляции ARM:
-semihosting
Включить эмуляцию системных вызовов посредством semihosting.
В случае с ARM это реализация интерфейса «Angel».
Обратите внимание, что гостевой ОС предоставляется прямой доступ к файловой системе основной машины.
Скачать:
Версия 4.1.0
версия: 3.0.1limbo-android-arm-kvm-release-3.0.1-beta-arm.apk ( 13.23 МБ )
версия: 3.0.0limbo-androidarmv7-arm-kvm-release.3.0.0.apk ( 8.36 МБ )
версия: 2.11.0limbo-androidarmv7-arm-release.2.11.0.apk ( 9.61 МБ )
limbo-androidarmv8-arm-release.2.11.0.apk ( 9.46 МБ )
версия: 2.10.0limbo-androidarm-arm-release.2.10.0.apk ( 8.91 МБ )
limbo-androidx86-arm-release.2.10.0.apk ( 9.4 МБ )
Источник