Быстрая альтернатива Android Virtual Device

Обсуждение материалов, присланных читателями
Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Быстрая альтернатива Android Virtual Device

Сообщение damager82 » 28 янв 2013, 07:16

Перед любым начинающим Android-разработчиком рано или поздно встает вопрос о том, где и как удобнее запускать и отлаживать свои программы.


Click here to read this article!
Последний раз редактировалось damager82 28 янв 2013, 11:16, всего редактировалось 1 раз.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

Аватара пользователя
Finch
Сообщения: 439
Зарегистрирован: 16 июл 2012, 21:37

Re: Быстрая альтернатива Android Virtual Device

Сообщение Finch » 28 янв 2013, 14:17

На железе всегда тестирую, от Galaxy Gio до Nexus 4 (Galaxy Gio, Galaxy Ace, Xpreia Arc S, Galaxy S2, Xperia Acro S, Xperia S, Nexus 4).
Из планшетов Nexus 7, Galaxy Tab.
CEO of a company R.id.team

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Быстрая альтернатива Android Virtual Device

Сообщение rezak90 » 28 янв 2013, 20:15

Finch писал(а):На железе всегда тестирую, от Galaxy Gio до Nexus 4 (Galaxy Gio, Galaxy Ace, Xpreia Arc S, Galaxy S2, Xperia Acro S, Xperia S, Nexus 4).
Из планшетов Nexus 7, Galaxy Tab.
Поддерживаю, не один эмулятор не сможет нормально эмулировать устройство, проверено миллионы раз.
З.Ы. те кто скажут мол дивайс покупать нужно и всё такое, одно дело если любитель пишет приложения, другое дело если вы хотите зарабатывать на этом то начинайте покупать по тихоньку устройства.
R.id.team
Политика на форуме запрещена

Аватара пользователя
Finch
Сообщения: 439
Зарегистрирован: 16 июл 2012, 21:37

Re: Быстрая альтернатива Android Virtual Device

Сообщение Finch » 29 янв 2013, 02:42

Не обязательно покупать, например у меня на работе есть куча народу с разными девайсами. Например у кого-то там друзья с "модными" смартами, попросить потестить версию.
CEO of a company R.id.team

eternal_ego
Сообщения: 10
Зарегистрирован: 14 дек 2012, 05:19

Re: Быстрая альтернатива Android Virtual Device

Сообщение eternal_ego » 29 янв 2013, 06:30

AVD тоже может работать с х86 образом. Эти образы далеко не для всех версий API есть, но для пары ключевых - имеются. И тоже работают в разы быстрее образов с эмуляцией arm-машины.

Аватара пользователя
neoksi
Сообщения: 712
Зарегистрирован: 26 июл 2012, 10:42
Контактная информация:

Re: Быстрая альтернатива Android Virtual Device

Сообщение neoksi » 29 янв 2013, 09:41

Пробовал этот способ, но на моем ПК с процессором Intel Atom виртуалка с Android 4, нормально так и не запустилась. В результате программу на 4 версии тестирую через устройства друзей.

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Быстрая альтернатива Android Virtual Device

Сообщение Mikhail_dev » 29 янв 2013, 11:42

Бывают ситуации, что хочешь попасть на работу андроид девелопером, но нету знаний в этом деле, хотя в java хорошо разбираешься. Телефона нету, а друзей тоже не всегда попросишь, ибо это время, походы до них. В общем AVD хоть и не очень хорош, но вполне помогает понять азы и решить насущную проблему.

frostegater
Сообщения: 11
Зарегистрирован: 29 янв 2013, 15:14

Re: Быстрая альтернатива Android Virtual Device

Сообщение frostegater » 30 янв 2013, 04:34

При пинге основного компа он пингует его без остановки. В чём причина?
upd/ проблему решил, не заметил что нужно нажать Ctrl+C

Haster
Сообщения: 1
Зарегистрирован: 03 фев 2013, 01:02

Re: Быстрая альтернатива Android Virtual Device

Сообщение Haster » 03 фев 2013, 01:17

Подскажите, как разлочить экран в эмуляторе андроида?
Держу нажатой кнопку мыши - значок с замком не увеличивается. Это глюк или механизм какой-то другой?
Заранее спасибо!

insider
Сообщения: 13
Зарегистрирован: 30 ноя 2012, 19:40

Re: Быстрая альтернатива Android Virtual Device

Сообщение insider » 10 мар 2013, 01:43

Потратил полдня, разбираясь с этой темой. Выкладываю свои наблюдения, главным образом по части настройки соединения с 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, все должно работать.

Удачи. Надеюсь, у вас это займет меньше времени, чем у меня.

Аватара пользователя
Xakep
Сообщения: 9
Зарегистрирован: 15 мар 2013, 17:17

Re: Быстрая альтернатива Android Virtual Device

Сообщение Xakep » 21 мар 2013, 13:06

rezak90 писал(а):одно дело если любитель пишет приложения, другое дело если вы хотите зарабатывать на этом то начинайте покупать по тихоньку устройства.
Должен не согласится. Дело не в том кто пишет, а в том как пишет. Да, должен согласится с тем что иногда окончательная доводка программы требует настоящего железа - особенно если реализация железа специфическое.
Но. Нужно не забывать что эмулятор, это своего рода эталон. Если программа будет работать на эмуляторе, то значит в 99.9% случаев будет работать и на других аппаратах.
______________________________________________________________________________________________________

Кстати. Что то тут не кто не упоминал о AndroVM, а ведь он больше всего подходит в качестве замены стандартному AVD.
2013-03-21_153922.jpg
2013-03-21_153922.jpg (120.05 КБ) 29511 просмотров
Из всех манипуляций что мне пришлось сделать, так это только накидать маленький батник для запуска эмулятора в один клик (Ну лентяй я! ;) ).
Android_4_Start.cmd

Код: Выделить всё

@ECHO OFF
START E:\Oracle\VirtualBox\VirtualBox.exe --comment "Android" --startvm "f7b3ef19-314e-4f5a-9851-9538f291820a"
ping -n 1 -w 15000 192.168.254.254 > nul
c:\PROGRA~1\Android\android-sdk\platform-tools\adb.exe kill-server
c:\PROGRA~1\Android\android-sdk\platform-tools\adb.exe start-server
c:\PROGRA~1\Android\android-sdk\platform-tools\adb.exe connect 192.168.56.101
c:\PROGRA~1\Android\android-sdk\platform-tools\adb.exe devices
"О, сколько нам открытий чудных готовит Microsoft’а дух, и Intel - сын ошибок трудных, и Borland - Paradox’ов друг..."

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Быстрая альтернатива Android Virtual Device

Сообщение rezak90 » 21 мар 2013, 13:50

Но. Нужно не забывать что эмулятор, это своего рода эталон. Если программа будет работать на эмуляторе, то значит в 99.9% случаев будет работать и на других аппаратах.
Я Вам сотню случаев могу привести почему это не эталон. Достаточно даже одного - не воспроизвести производительность телефона. Для покрытия 80% тестов всех дивайсов необходимо не менее 150 разных дивайсов что бы оттестировать приложение. И Вы возможно будете смеяться, но существуют даже должность для зарядки и залития всех дивайсов (это если серъёздная организация и имеет как я сказал 150 дивайсов)
R.id.team
Политика на форуме запрещена

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Быстрая альтернатива Android Virtual Device

Сообщение rezak90 » 21 мар 2013, 15:05

и кстати если речь уж пошла о эталонах, то эталоном считается не эмулятор а дивайсы сертифицированные гуглом, из последних это линейка нексусов
R.id.team
Политика на форуме запрещена

Аватара пользователя
Xakep
Сообщения: 9
Зарегистрирован: 15 мар 2013, 17:17

Re: Быстрая альтернатива Android Virtual Device

Сообщение Xakep » 21 мар 2013, 15:38

А вы сравните папки /system в Нексусе и AVD. Будите удивлены но они фактически идентичны. Различаются только либами отвечающими за работу с железом, ну и в Нексусе еще пару плющек добавили для разнообразия.
Достаточно даже одного - не воспроизвести производительность телефона.
Я пропущенные СМС и Звонки как раз и тестировал на эмуляторе. Согласен, что не 100% функционала, но, для начала проекта вполне хватает.
Для покрытия 80% тестов всех дивайсов необходимо не менее 150 разных дивайсов что бы оттестировать приложение.
Достаточно и эмулятора, так как это фактически чистый AOSP. А то что производители девайсов начинают творить с прошивками прости господи не пойми что, так это проблемы только производителей девайсов, но не как не программиста.
Хотя. Можно конечно смирится и продолжать мучатся с железками по принципу "Любой каприз за ваши деньги"...

ps Что то мы плавно съехали в оффтоп. :)
"О, сколько нам открытий чудных готовит Microsoft’а дух, и Intel - сын ошибок трудных, и Borland - Paradox’ов друг..."

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Быстрая альтернатива Android Virtual Device

Сообщение rezak90 » 21 мар 2013, 16:27

почитайте на досуге http://habrahabr.ru/company/mbt/blog/172409/
R.id.team
Политика на форуме запрещена

Аватара пользователя
Xakep
Сообщения: 9
Зарегистрирован: 15 мар 2013, 17:17

Re: Быстрая альтернатива Android Virtual Device

Сообщение Xakep » 21 мар 2013, 17:20

Почитал. Занятное чтиво. Но. Ни чего нового я для себе не узнал. Я уже говорил
производители девайсов начинают творить с прошивками прости господи не пойми что, так это проблемы только производителей девайсов, но не как не программиста.
Если вольные программисты начнут творить только под эталон. Может быть тогда производители девайсов задумаются почему не кто не берет их девайсы из за не совместимого софта...
"О, сколько нам открытий чудных готовит Microsoft’а дух, и Intel - сын ошибок трудных, и Borland - Paradox’ов друг..."

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Быстрая альтернатива Android Virtual Device

Сообщение rezak90 » 21 мар 2013, 18:01

всё зависит от того какой продукт производится, если проект огромен и конкурентно способен то приходиться думать о таких масштабах, если это "аля-калькулятор" конечно хватит и эмулятора.
R.id.team
Политика на форуме запрещена

Аватара пользователя
Leatar
Сообщения: 11
Зарегистрирован: 20 июн 2013, 17:44
Откуда: Минск, Беларусь
Контактная информация:

Re: Быстрая альтернатива Android Virtual Device

Сообщение Leatar » 21 июн 2013, 13:51

Добрый день. Я установил VirtualBox, установил образ Андроида, подключил ADT, все работает прекрасно. Однако столкнулся с одним неприятным моментом: иногда экран VirtualBox просто становится черным и ничего не показывает. При этом виртуальная машина продолжает работать, все процессы работают, но я ничего не вижу. Приходится перезапускать ОС Андроид, заново настраивать порты для подключения к интернету и ADT. Кто-нибудь сталкивался с такой проблемой?
Дорогу осилит идущий

Аватара пользователя
anber
Сообщения: 584
Зарегистрирован: 10 июн 2013, 15:05
Откуда: UA

Re: Быстрая альтернатива Android Virtual Device

Сообщение anber » 21 июн 2013, 14:00

А про bluestacks еще ниче никто не писал?
Самый простой, быстрый и стабильный из альтернативных эмуляторов. Правда при переходе из альфы в бету сильно покромсали функционал и версия андроида только 2.3 но для тестирования логики подходит на ура.
Личные сообщения с просьбой ответить на форуме или написать программу я просто удаляю, если я в хорошем настроении. Если в плохом добавляю автора в черный список. По любым другим вопросам feel free to write to me.

RomanNT
Сообщения: 7
Зарегистрирован: 08 июл 2013, 16:58

Re: Быстрая альтернатива Android Virtual Device

Сообщение RomanNT » 08 июл 2013, 17:09

Промучился целый день - может кому мой опыт время съекономит:
сразу после запуска эмулятора нужно зайти в настройки и включить отладку по USB (Настройки / Для разработчиков / Отладка по USB).
Иначе эмулятор не пингуется и adb его не видит.
Если выбирать между android-x86 и AndroVM - на мой вгляд, AndroVM и ставить проще, и работает быстрее, и пользоваться удобнее.
Иструкция по установке AndroVM см. выше в этой же теме: viewtopic.php?t=1582#p10258

Ответить