<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; VirtualBox + Eclipse + ADT]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=25421&amp;type=atom" />
	<updated>2012-12-03T14:28:10Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=25421</id>
		<entry>
			<title type="html"><![CDATA[VirtualBox + Eclipse + ADT]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=312360#p312360" />
			<content type="html"><![CDATA[<p>Здравствуйте. Столкнулся сегодня с определенными проблемами и нашел их удобное решение. Задумка навеяна с хабра.<br />Пост будет интересен людям, которым приходиться работать с virtualbox и тем, кто ведет разработку в Eclipse для Android. Тот кто устанавливал эмулятор андроидных устройств через AVD, тот в курсе, как медленно это работает. Как оказалось, эмулируя это дело через VirtualBox скорость намного больше. Намного! Ниже идет описание, в общих чертах, как завести гармоничный любовный треугольник - eclipse+android+virtualbox. </p><p>Я исхожу из того, что у вас уже установлен VirtualBox и Eclipse.<br />1. Качаем отсюда (<a href="http://www.android-x86.org/download">http://www.android-x86.org/download</a>) образ Android OS и ставим на виртуальную машину. Настройки виртуальной машины на ваше усмотрение. Создаем во время установки раздел, записываем изменения на диск, форматим его в ext3, ставим на него Android OS. </p><p>2. Я качал сборку для eeepc, в своем случае я меняю резолюцию экрана eeepc под размер телефона.<br />В консоли пишем, к примеру:<br /></p><div class="codebox"><pre><code>VBoxManage setextradata &quot;android&quot; &quot;CustomVideoMode1&quot; &quot;480x720x16&quot;</code></pre></div><p>где, &quot;android&quot; имя машины, а &quot;480x720x16&quot; параметры экрана.</p><p>3. Теперь надо изменить способ загрузки оси андроида, чтобы он понял в каком режиме отображаться.<br />Извлекаем носитель из виртуальной машины (установочный образ), запускаем машину, входим в отладочный режим и монтируем загрузочный раздел с разрешением на запись.<br /></p><div class="codebox"><pre><code>mount -o remount,rw /mnt</code></pre></div><p>Далее редактируем menu.lst в Grub:<br /></p><div class="codebox"><pre><code>vi /mnt/grub/menu.lst</code></pre></div><p>добавляя туда еще один способ загрузки:<br /></p><div class="codebox"><pre><code>title Android Smart Start
    kernel /android-2.3-RC1/kernel quiet root=/dev/ram0 androidboot_hardware=generic_x86 acpi_sleep=s3_bios, s3_mode DPI=240 UVESA_MODE=480x720 SRC=/android-2.3-RC1
    initrd /android-2.3-RC1/initrd.img</code></pre></div><p>И делаем timout поменьше, дабы не ждать и не жать enter постоянно. Я поставил единицу, успеваешь войти в debug режим, но и не ждешь долго.<br />Сохраняем изменения и выходим. </p><p>4. Настройка соединения<br />Заходим в свойства сети данной машины, указываем тип подключения - Сетевой мост, имя - eth0 и разрешаем соединению все. После запуска в настройках телефона, в Ethernet конфигурации указываем интерфейс eth0 и DHCP. После чего переходим на телефоне в консольный режим (нажав Alt+F1) и смотрим ip адрес устройства командой netcfg (вернуться в графический режим можно по Alt+F7). У меня адрес 192.168.0.108, у вас скорее всего другой. Запоминаем свой IP. Заходим в Android SDK. В папке *sdk/platform-tools будет утилита adb. При запущенной виртуальной машине, запуск утилиты с аргументами -connect XXX.XXX.XXX.XXX соединит ADT c виртуальным устройством. Останеться лишь в свойствах проекта указать чтобы запуск приложения шел на этом устройстве и все.</p><p>5. Уменьшаем количество телодвижений.<br />Постоянно запускать VirtualBox-ы, что то там тырцать и линковать устройство...это не линукс вэй <br />Пишем простенькие скрипты.</p><p>rundroid<br /></p><div class="codebox"><pre><code>#!/bin/bash
VBoxManage startvm &quot;android&quot;
sleep 10
cd /opt/android-sdk/sdk/platform-tools/
./adb connect 192.168.0.108 </code></pre></div><p>stopdroid<br /></p><div class="codebox"><pre><code>#!/bin/bash
cd /opt/android-sdk/sdk/platform-tools/
./adb disconnect 192.168.0.108  
VBoxManage controlvm &quot;android&quot; poweroff </code></pre></div><p>Здесь все просто. rundroid - запуск виртуальной машины, без запуска менеджера виртуальных машин. Ждем пока машина загрузится и получит свой адрес. После этого соединяем ее с ADT. Время задержки ставьте на свое усмотрение. ОБЯЗАТЕЛЬНО ОСВОБОЖДАЙТЕ СОЕДИНЕНИЕ! Выключение машины не освобождает соединение. Иначе при запуске, каждый раз, eclipse будет виснуть дожидаясь ответа от adb. Для этого я написал второй скрипт stopdroid. Для удобства все это дело я зачемодил +х и кинул в /usr/bin</p><p>Картинка, чтобы скучно не было:<br /><a href="http://imglink.ru/show-image.php?id=a063631625e96385ec56eceb2de956f7"> <span class="postimg"><img src="http://imglink.ru/thumbnails/03-12-12/9bd1eda56e8b16caf8b1b1b4c36b4eae.jpg" alt="http://imglink.ru/thumbnails/03-12-12/9bd1eda56e8b16caf8b1b1b4c36b4eae.jpg" /></span></a><br />И ссылка на видео: <br /><a href="http://youtu.be/6_qCV2aiJNQ">http://youtu.be/6_qCV2aiJNQ</a></p><p>Надеюсь поможет, т.к. у меня наболело, но наконец решилось. Удачи вам. <br />P.S. Если что, извиняюсь, но этой мой перепост с Debian форум. <br />P.P.S. Есть ли у вас свои решения в этом вопросе, если есть, то как решаете?</p>]]></content>
			<author>
				<name><![CDATA[everloginme]]></name>
				<uri>https://linuxforum.ru/profile.php?id=26980</uri>
			</author>
			<updated>2012-12-03T14:28:10Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=312360#p312360</id>
		</entry>
</feed>
