Для автоматического тестирования нашего приложения нужна была виртуалка Android под CentOS. Коллега любезно предоставил мне вот такую инструкцию по установке.
Инструкция по развёртыванию виртуальной машины Android_x86-2.3 на Centos 6.
1. Установка и настройка VirtualBox
Добавление репозитория VirtualBox.
cd /etc/yum.repos.d wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo
Установка VirtualBox и других необходимых компонентов
yum update yum install binutils qt gcc make patch libgomp glibc-headers glibc-devel kernel-headers kernel-devel dkms VirtualBox-4.2
1.3. Обновление ядра
KERN_DIR=/usr/src/kernels/2.6.32-431.1.2.0.1.el6.x86_64 export KERN_DIR /etc/init.d/vboxdrv setup
1.4. Установка пакета расширений (расширяет функциональность VirtualBox)
cd /tmp wget http://download.virtualbox.org/virtualbox/4.2.20/Oracle_VM_VirtualBox_Extension_Pack-4.2.20-90983.vbox-extpack VBoxManage extpack install /tmp/Oracle_VM_VirtualBox_Extension_Pack-4.2.20-90983.vbox-extpack
1.5. Создание пользователя vbox и установка ему пароля
useradd -g vboxusers -m vbox passwd vbox
2. Настройка веб-интерфейса VirtualBox (предполагается что apache2 + php5 уже развёрнут)
2.1. Загрузка phpvirtualbox
mkdir /var/www/html/virualbox cd /var/www/html/virualbox wget http://downloads.sourceforge.net/project/phpvirtualbox/phpvirtualbox-4.2-8.zip?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fphpvirtualbox%2F&ts=1388173299&use_mirror=heanet unzip phpvirtualbox-4.2-8.zip cp config.php-example config.php
2.2. Конфигурирование phpvirtualbox
<— /var/www/html/virualbox/config.php —>
var $username = 'vbox'; var $password = 'pass'; #заданный в пункте 1.5 var $location = 'http://127.0.0.1:18083/'; var $language = 'en'; var $vrdeports = '9000-9100';
<— /etc/default/virtualbox —>
VBOXWEB_USER=vbox VBOXWEB_HOST=127.0.0.1 VBOXWEB_PORT=18083 VBOXWEB_LOGFILE=/var/log/vboxweb
2.3. Создание файла для логов
touch /var/log/vboxweb chown vbox:vboxusers /var/log/vboxweb
2.4. Запуск
chown -R apache:apache /var/www/html/virualbox service vboxweb-service start service httpd start
На данном этапе веб-интерфейс VirtualBox должен быть доступен по адресу http://localhost/virtualbox
Логин: vbox
Пароль: vbox
3. Создание виртуальной машины
3.1. Загрузка образа (под пользователем vbox)
mkdir ~/iso cd ~/iso wget http://android-x86.googlecode.com/files/android-x86-2.3-RC1-eeepc.iso
3.2. Установка системы (через веб-интерфейс)
Создание виртуальной машины:
Имя: Android-2.3
Операционная система: Linux
Версия: Linux 2.6
Память: 512 MB
Жесткий диск: 3GB
Настройка сетевых интерфейсов машины:
Адаптер 1 — PCnet-FAST III (NAT).
Адаптер 2 — PCnet-FAST III (Виртуальный адаптер хоста, ‘vboxnet0’). Возможно потребуется предварительно создать виртуальный адаптер: Файл->Настройки->Сеть->Добавить виртуальную сеть хоста
Загрузить скачанный образ в виртуальный CDROM машины.
Запустить машину.
В загрузчике выбрать пункт меню
Installation — Install Android-x86 to harddisk
Создаем разделы.
Create/Modify partitions
Выбрать [New] -> [Primary] -> Size (in MB) 3216 press [ok]
Выбрать [Bootable]
Выбрать [Write] подтвердить запись изменений yes
Выход [Quit]
Выбираем раздел для установки
Select partitions to install Android-X86
[sda1 Linux VBOX HARDDISK]
Выбор файловой системы
Please select a filesystem to format sda1
[ext3]
Подтвердить форматирование Yes
Установка загрузчика GRUB
Do you want install boot loader GRUB?
Подтвердить Yes
Do you want to install /system directory as read-write? (Вы хотите сделать /system для чтения и записи)
Подтвердить Yes
Создаем SD карту
[Create a fake SD Card]
size 2000 MB
Извлечь образ из CDROM.
3.3. Настройка системы (через RDP-клиент на порт 9000)
Нажать alt+f1 для открытия консоли
netcfg eth0 down netcfg eth0 dhcp netcfg eth0 up netcfg eth1 down netcfg eth1 dhcp netcfg eth1 up
netcfg #В списке сетевых интерфейсов запомнить ip адрес eth1, обычно это 192.168.56.101 — по этому адресу будем подключаться к андроиду из машины-хоста
Нажать alt+f7 для открытия графического интерфейса
В настройках убрать автоблокировку экрана при подключенном источнике питания (Настройки->Приложения->Для разработчика)
3.4. Создание снимка системы через веб-интерфейс (на всякий случай)
При выбранной машине: Снимки -> Сделать снимок
На данном этапе виртуальная машина Android-2.3 готова к тестированию.
Для подключенияк ней через adb выполнить команду:
adb connect 192.168.56.101 #или другой ip, который был у интерфейса eth1 в пункте 3.3