Быстрая альтернатива Android Virtual Device
Быстрая альтернатива Android Virtual Device
Перед любым начинающим Android-разработчиком рано или поздно встает вопрос о том, где и как удобнее запускать и отлаживать свои программы.
Click here to read this article!
Click here to read this article!
Последний раз редактировалось damager82 28 янв 2013, 11:16, всего редактировалось 1 раз.
Re: Быстрая альтернатива Android Virtual Device
На железе всегда тестирую, от Galaxy Gio до Nexus 4 (Galaxy Gio, Galaxy Ace, Xpreia Arc S, Galaxy S2, Xperia Acro S, Xperia S, Nexus 4).
Из планшетов Nexus 7, Galaxy Tab.
Из планшетов Nexus 7, Galaxy Tab.
CEO of a company R.id.team
Re: Быстрая альтернатива Android Virtual Device
Поддерживаю, не один эмулятор не сможет нормально эмулировать устройство, проверено миллионы раз.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
Политика на форуме запрещена
Политика на форуме запрещена
Re: Быстрая альтернатива Android Virtual Device
Не обязательно покупать, например у меня на работе есть куча народу с разными девайсами. Например у кого-то там друзья с "модными" смартами, попросить потестить версию.
CEO of a company R.id.team
-
- Сообщения: 10
- Зарегистрирован: 14 дек 2012, 05:19
Re: Быстрая альтернатива Android Virtual Device
AVD тоже может работать с х86 образом. Эти образы далеко не для всех версий API есть, но для пары ключевых - имеются. И тоже работают в разы быстрее образов с эмуляцией arm-машины.
Re: Быстрая альтернатива Android Virtual Device
Пробовал этот способ, но на моем ПК с процессором Intel Atom виртуалка с Android 4, нормально так и не запустилась. В результате программу на 4 версии тестирую через устройства друзей.
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Быстрая альтернатива Android Virtual Device
Бывают ситуации, что хочешь попасть на работу андроид девелопером, но нету знаний в этом деле, хотя в java хорошо разбираешься. Телефона нету, а друзей тоже не всегда попросишь, ибо это время, походы до них. В общем AVD хоть и не очень хорош, но вполне помогает понять азы и решить насущную проблему.
-
- Сообщения: 11
- Зарегистрирован: 29 янв 2013, 15:14
Re: Быстрая альтернатива Android Virtual Device
При пинге основного компа он пингует его без остановки. В чём причина?
upd/ проблему решил, не заметил что нужно нажать Ctrl+C
upd/ проблему решил, не заметил что нужно нажать Ctrl+C
Re: Быстрая альтернатива Android Virtual Device
Подскажите, как разлочить экран в эмуляторе андроида?
Держу нажатой кнопку мыши - значок с замком не увеличивается. Это глюк или механизм какой-то другой?
Заранее спасибо!
Держу нажатой кнопку мыши - значок с замком не увеличивается. Это глюк или механизм какой-то другой?
Заранее спасибо!
Re: Быстрая альтернатива Android Virtual Device
Потратил полдня, разбираясь с этой темой. Выкладываю свои наблюдения, главным образом по части настройки соединения с 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", добавляем две строки:
Нажимаем esc. Наберем ZZ, и файл сохранится. Откроем еще раз и удостоверимся, что все в порядке. Если с vi возникнут проблемы, то Гугл в помощь (к примеру). Перезагрузка, и все должно работать. Тестим Интернет через встроенный браузер. Тестим коннект к ADB командой adb connect 192.168.56.2 с вашего компьютера. Отключение той же командой, только disconnect. Запускаем вашу программу из Eclipse, все должно работать.
Удачи. Надеюсь, у вас это займет меньше времени, чем у меня.
Использовал образ "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
Удачи. Надеюсь, у вас это займет меньше времени, чем у меня.
Re: Быстрая альтернатива Android Virtual Device
Должен не согласится. Дело не в том кто пишет, а в том как пишет. Да, должен согласится с тем что иногда окончательная доводка программы требует настоящего железа - особенно если реализация железа специфическое.rezak90 писал(а):одно дело если любитель пишет приложения, другое дело если вы хотите зарабатывать на этом то начинайте покупать по тихоньку устройства.
Но. Нужно не забывать что эмулятор, это своего рода эталон. Если программа будет работать на эмуляторе, то значит в 99.9% случаев будет работать и на других аппаратах.
______________________________________________________________________________________________________
Кстати. Что то тут не кто не упоминал о AndroVM, а ведь он больше всего подходит в качестве замены стандартному AVD.
Из всех манипуляций что мне пришлось сделать, так это только накидать маленький батник для запуска эмулятора в один клик (Ну лентяй я! ).
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’ов друг..."
Re: Быстрая альтернатива Android Virtual Device
Я Вам сотню случаев могу привести почему это не эталон. Достаточно даже одного - не воспроизвести производительность телефона. Для покрытия 80% тестов всех дивайсов необходимо не менее 150 разных дивайсов что бы оттестировать приложение. И Вы возможно будете смеяться, но существуют даже должность для зарядки и залития всех дивайсов (это если серъёздная организация и имеет как я сказал 150 дивайсов)Но. Нужно не забывать что эмулятор, это своего рода эталон. Если программа будет работать на эмуляторе, то значит в 99.9% случаев будет работать и на других аппаратах.
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Быстрая альтернатива Android Virtual Device
и кстати если речь уж пошла о эталонах, то эталоном считается не эмулятор а дивайсы сертифицированные гуглом, из последних это линейка нексусов
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Быстрая альтернатива Android Virtual Device
А вы сравните папки /system в Нексусе и AVD. Будите удивлены но они фактически идентичны. Различаются только либами отвечающими за работу с железом, ну и в Нексусе еще пару плющек добавили для разнообразия.
Хотя. Можно конечно смирится и продолжать мучатся с железками по принципу "Любой каприз за ваши деньги"...
ps Что то мы плавно съехали в оффтоп.
Я пропущенные СМС и Звонки как раз и тестировал на эмуляторе. Согласен, что не 100% функционала, но, для начала проекта вполне хватает.Достаточно даже одного - не воспроизвести производительность телефона.
Достаточно и эмулятора, так как это фактически чистый AOSP. А то что производители девайсов начинают творить с прошивками прости господи не пойми что, так это проблемы только производителей девайсов, но не как не программиста.Для покрытия 80% тестов всех дивайсов необходимо не менее 150 разных дивайсов что бы оттестировать приложение.
Хотя. Можно конечно смирится и продолжать мучатся с железками по принципу "Любой каприз за ваши деньги"...
ps Что то мы плавно съехали в оффтоп.
"О, сколько нам открытий чудных готовит Microsoft’а дух, и Intel - сын ошибок трудных, и Borland - Paradox’ов друг..."
Re: Быстрая альтернатива Android Virtual Device
почитайте на досуге http://habrahabr.ru/company/mbt/blog/172409/
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Быстрая альтернатива Android Virtual Device
Почитал. Занятное чтиво. Но. Ни чего нового я для себе не узнал. Я уже говорил
Если вольные программисты начнут творить только под эталон. Может быть тогда производители девайсов задумаются почему не кто не берет их девайсы из за не совместимого софта...производители девайсов начинают творить с прошивками прости господи не пойми что, так это проблемы только производителей девайсов, но не как не программиста.
"О, сколько нам открытий чудных готовит Microsoft’а дух, и Intel - сын ошибок трудных, и Borland - Paradox’ов друг..."
Re: Быстрая альтернатива Android Virtual Device
всё зависит от того какой продукт производится, если проект огромен и конкурентно способен то приходиться думать о таких масштабах, если это "аля-калькулятор" конечно хватит и эмулятора.
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
- Leatar
- Сообщения: 11
- Зарегистрирован: 20 июн 2013, 17:44
- Откуда: Минск, Беларусь
- Контактная информация:
Re: Быстрая альтернатива Android Virtual Device
Добрый день. Я установил VirtualBox, установил образ Андроида, подключил ADT, все работает прекрасно. Однако столкнулся с одним неприятным моментом: иногда экран VirtualBox просто становится черным и ничего не показывает. При этом виртуальная машина продолжает работать, все процессы работают, но я ничего не вижу. Приходится перезапускать ОС Андроид, заново настраивать порты для подключения к интернету и ADT. Кто-нибудь сталкивался с такой проблемой?
Дорогу осилит идущий
Re: Быстрая альтернатива Android Virtual Device
А про bluestacks еще ниче никто не писал?
Самый простой, быстрый и стабильный из альтернативных эмуляторов. Правда при переходе из альфы в бету сильно покромсали функционал и версия андроида только 2.3 но для тестирования логики подходит на ура.
Самый простой, быстрый и стабильный из альтернативных эмуляторов. Правда при переходе из альфы в бету сильно покромсали функционал и версия андроида только 2.3 но для тестирования логики подходит на ура.
Личные сообщения с просьбой ответить на форуме или написать программу я просто удаляю, если я в хорошем настроении. Если в плохом добавляю автора в черный список. По любым другим вопросам feel free to write to me.
Re: Быстрая альтернатива Android Virtual Device
Промучился целый день - может кому мой опыт время съекономит:
сразу после запуска эмулятора нужно зайти в настройки и включить отладку по USB (Настройки / Для разработчиков / Отладка по USB).
Иначе эмулятор не пингуется и adb его не видит.
Если выбирать между android-x86 и AndroVM - на мой вгляд, AndroVM и ставить проще, и работает быстрее, и пользоваться удобнее.
Иструкция по установке AndroVM см. выше в этой же теме: viewtopic.php?t=1582#p10258
сразу после запуска эмулятора нужно зайти в настройки и включить отладку по USB (Настройки / Для разработчиков / Отладка по USB).
Иначе эмулятор не пингуется и adb его не видит.
Если выбирать между android-x86 и AndroVM - на мой вгляд, AndroVM и ставить проще, и работает быстрее, и пользоваться удобнее.
Иструкция по установке AndroVM см. выше в этой же теме: viewtopic.php?t=1582#p10258