Потратил полдня, разбираясь с этой темой. Выкладываю свои наблюдения, главным образом по части настройки соединения с ADB и интернетом. Может, что-то будет избыточным, но всегда лучше, когда есть больше информации. Руководство для чайников.
Использовал образ "android-x86-4.0-RC2-eeepc.iso".
Первое отличие - мне хотелось сделать так, чтобы не нужно было устанавливать заново никаких параметров при включении ВМ. Поэтому, во-первых, я решил установить ОС, а не запускать как LiveCD. Устанавливал с параметрами: Linux/Other Linux, 512 МБ ОЗУ, создать виртуальный диск -> VDI -> динамический на 8 ГБ (многовато, наверное, но не суть). Аудио нужно выставить SoundBlaster 16 (если оно нужно). Процесс установки не сложен, решения можно принять самому по ходу. Подключаем образ, выбираем Install to harddisk. Дальше нужно создать раздел - Create/Modify Partitions. Создаем новый раздел New -> Primary, указываем размер (по умолчанию весь доступный виртуальный диск), ставим ему флаг Bootable, нажимаем Write, подтверждаем yes. Таблица пишется на диск. Выходим Quit. В списке появился созданный раздел, устанавливаем систему в него, форматируем в ext3, устанавливаем GRUB, разрешаем сделать /system как read-write, запускаем установленную систему. Устанавливаем параметры первого запуска Android. "Извлекаем диск" с образом из ВМ, а то при очередном запуске нам снова предложат установку.
Лирическое отступление: для активации курсора в Android должна быть выключена интеграция мыши. Выключить можно сочетанием Host key + I, в меню "Машина" или ПКМ на иконке мыши справа внизу.
Дальше самое важное -- настройка сети. У народа работают разные варианты. Пришлось подбирать и заниматься любовью с Гуглом, но вроде смысл до меня дошел. В настройках ВМ я включил два сетевых адаптера. Первый -- адаптер, через который выполняется подключение к Интернету (у меня Wi-Fi от Atheros) в
режиме сетевого моста. Это у нас будет отвечать, как уже понятно, за доступ к Интернету. Второй -- виртуальный адаптер хоста VirtualBox Host-Only Ethernet Adapter. Соответственно, в настройках сети компьютера смотрим, чтобы он был включен. Заодно поинтересуемся прописанным в нем IP-адресом. У меня был 192.168.56.1.
Переключаемся на Android. Запускаем консоль через Alt+F1 (не паникуйте, GUI возвращается по Alt+F7). Команда netcfg - список сетевых интерфейсов. Нас интересуют eth0 и eth1. Смотрим, кому что присвоено. Скорее всего, eth0 работает (UP), и ему присвоен IP-адрес из вашей ЛС. Полдела с Интернетом сделано. Теперь нужно поднять сеть для обмена данными с ADB. Вариант 1: использовать DHCP, что не очень удобно, так как при каждом запуске ВМ IP может меняться. Но все же: команда netcfg eth1 dhcp. Снова смотрим netcfg - полученный IP-адрес и используем для подключения ADB. Вариант 2: предпочтительнее выделить статический IP. Пишем ifconfig eth1 192.168.56.2 netmask 255.255.255.0. Главное, чтобы IP был из той же подсети, что и IP, прописанный в VirtualBox Host-Only Ethernet Adapter (см. выше). Коннект с ADB теперь должен работать, но с Интернетом все еще проблемы: не прописан DNS. Нам нужна команда setprop net.dns1 8.8.8.8 (четыре восьмерки - адрес DNS от Гугла). Проблема, однако, в том, что команда должна быть запущена сразу после загрузки. Убьем двух зайцев: решим проблему с DNS и навсегда закроем тему с выделением IP. Дополним файл /etc/init.sh двумя строками с помощью редактора vi. Выполняем vi /etc/init.sh. Прокручиваем до последней строки (у меня их было 45), нажимаем "o", добавляем две строки:
Код: Выделить всё
ifconfig eth1 192.168.56.2 netmask 255.255.255.0
setprop net.dns1 8.8.8.8
Нажимаем esc. Наберем ZZ, и файл сохранится. Откроем еще раз и удостоверимся, что все в порядке. Если с vi возникнут проблемы, то Гугл в помощь (
к примеру). Перезагрузка, и все должно работать. Тестим Интернет через встроенный браузер. Тестим коннект к ADB командой adb connect 192.168.56.2 с вашего компьютера. Отключение той же командой, только disconnect. Запускаем вашу программу из Eclipse, все должно работать.
Удачи. Надеюсь, у вас это займет меньше времени, чем у меня.