Мы спасены! Genymotion — забудьте про вашего эмулятора-слоупока

    Думаю, все кто осваивал разработку приложений под Android, сразу же осозновал невозможность тестирования программ без реального устройства. А все потому что официальный Android эмулятор страдает серьезными проблемами с производительностью.

    Но не стоит унывать! Вашему вниманию представляется Genymotion — решение, основанное на Virtual Box, которое виртуализирует, а не эмулирует Android, откуда и сумасшедший прирост производительности.

    Скриншот экрана Genymotion с запущеным образом Nexus7:



    Вы скажете, что и раньше были решения, основанные на виртуализации. Но все что я видел, требовало долгой настройки и содержало сложности в работе в дальнейшем. В свою очередь, Genymotion имеет полный набор средств для быстрой и качественной работы: shell, более 10 виртуальных устройств и интеграцию с Eclipse и Android Studio. При чем все это работает на Linux, Mac и Windows и имеет сногсшибательный UI.
    По нескольким тестам, которые провел Cyril Mottier, на Nexus 4 и на инстансе Genymotion получились такие результаты:


    Как видите, разница разительная.

    Из приятных фич: простое эмулирование GPS координат, встроенные Google Apps на многих образах, shell позволяющий управлять сенсорами, быстрые старт и деплой.

    Сейчас Genymotion находится в активной стадии разработки и ему не хватает некоторых фич, но, на мой взгляд, он уже годен для использования в продакшене.
    Поделиться публикацией
    Похожие публикации
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 65
    • +7
      Очень противоречивый продукт.

      С одной стороны, действительно, стартует практически моментально и работает достаточно быстро. А с другой, за три дня использования он крэшился около 5 раз, дважды не смог выйти из режима «сна» и один раз подвесил IDEA, заспамив вывод дебаггера какими-то своими сообщениями об ошибке. Возможно, что это какие-то проблемы Win реализации, но все равно неприятно. Да, оригинальный эмулятор тоже не безгрешен, но у меня все это происходит не чаще раза в неделю. Да и крэшей стандартного эмулятора я не видел, обычно «отваливается» сеть.

      Опять же, «высокая» скорость очень относительна. С аппаратным ускорением обычный эмулятор у меня работает может и не быстрее, но уж точно плавнее. Фрагменты в Genymotion загружаются как-то рывками. Причем как из кэша, так и из сети. В чем проблема я не разбирался, но выглядит не очень красиво.

      А больше всего удручает ограниченный набор образов для тестирования и невозможность менять ориентацию. Я понимаю, что всего не предусмотришь, но поиграться с «тонкими настройками» эмулятора для тестов иногда просто необходимо. А уж «повертеть» экран, отлавливая возможные глюки с позиционированием элементов, восстановлением состояния и асинхронными процессами, это святое дело.
      • 0
        Да, в некотором симысле вы правы — продукту есть куда расти. Но, как мне кажется, большинство проблем решатся в ближайшем будущем. И уже сейчас этот инструмент пригоден для повседневного использования.
        • +5
          Это же только первая бета. Уверен, большая часть проблем решится со временем.
        • –11
          эмулятор слоупока
          прочитав название подумал, что что-то интересное будет, а тут…
          • +6
            Вчера тоже наткнулся на проект — с одной стороны да, быстрое, но с другой там только 16 и 17 версии апи, с таким же успехом можно использовать обычный эмулятор с образами от Интел, он и так летает без установки дополнительной проги в красивой обертке, регистрации, скачки, запуска и логина.
            • +2
              Да, с версиями действительно пока что скудно. Но все-таки Genymotion стартует быстрее (~5 сек) и деплой тоже очень быстрый. То есть эта штука отлично подходит для «дорисовал палочку — проверил». Для глубого тестирования все равно остаются устройства.
              • +1
                На KVM и образе интела эмулятор абсолютно с нуля (т.е. с пустым /data) стартует за четыре секунды, вы о чем вообще? Плюс все наработки qemu и все такое.
                • 0
                  А как у этого всего с интегрецией с IDE?
                  • 0
                    Кхм. Используется тот самый нативный эмулятор из ASDK. Я это и упомянул — там qemu в обертке. Если уж IDE не умеет работать со стандартными эмуляторами из ASDK — то с этим проблем будет еще больше.
                  • 0
                    Вот уж не знаю. На моей машина с образом интела все работает и запускается раза в 2-3 быстрее, но уж никак не 4 секунды с нуля. Минуты три — да.
                    • 0
                      Не, ну если не верите — могу видео записать :)
                      Три минуты для запуска — это у меня было на древней машинке еще с AM2 сокетом и без аппаратной виртуализации. Ну и образ arm был.
                      • +1
                        У меня вот обычный сдк, на убунте с i5 — стандартный эмулятор с Intel образом грузится с нуля за 5 секунд. И визуально ничем не медленнее чем genymotion.

                        А вот когда нужно какой-нить костыль под 2.х проверить — тут да, надо ждать 2-3 минуты и ничего не поделаешь.
                        • 0
                          А какой смысл на убунте использовать образ Intel, если HAXM нет для линукса? Там же скорость работы по моему почти что сопоставима со стандартным эмулятором…
                          • 0
                            Хм, возможно мы говорим о разных образах — я под стандартным имею в виду вот этот cdn2.sbnation.com/entry_photo_images/4134473/intel_avd_large_verge_medium_landscape.jpg

                            Смысл использования в том, что он грузится за 5 секунд и летает, ничем не уступая Genymotion или просто Android x86 запущеному в виртуалбоксе. В том время как ARM грузится 2-3 минуты и тупит.
                            • +3
                              Я вам сейчас такой секрет скажу. На убунте образами от интела могут пользоваться даже люди с процессорами AMD, ибо аппартаная виртуализация идет через KVM для обоих вендоров. Надо только включить виртуализацию в биосе и добавить модули kvm kvm-{intel,amd} в автозагрузку — тут даже arm образы становятся шустрыми.
                              • 0
                                Аа, да да, вспомнил, я на когда на рабочем ноуте с убунтой пытался настроить kvm, уперся в то, что на нем не поддерживалась виртуализация, и наступила пичаль( Пришлось другой ноут покупать.
                            • 0
                              Для 2.3.3 (API 10) есть образ под x86 и загружается со скоростью образов 4.х. Не API 8, конечно, но, кажется, на большей части уже 2.3+
                              • 0
                                Спасибо, обновил — таки летает.
                      • –2
                        Боюсь это он и есть, только в красивой коробочке.
                        • 0
                          На днях ставил. Genymotion работает гораздо быстрее эмулятора от Интел, и в целом поудобнее.
                          • +2
                            Может и удобнее(хотя хотелось бы узнать чем), но как он может работать быстрее x86 сборки андроида в эмуляторе с аппаратной виртуализацией?
                            • –1
                              Чем удобнее — озвучено в посте. Как он может работать быстрее — ну как минимум Genymotion работает через VirtualBox, а не тормознутый QEMU, как родной эмулятор, соответственно там почти все работает по-другому, и реализация Genymotion при этом быстрее.
                              • НЛО прилетело и опубликовало эту надпись здесь
                                • 0
                                  Как бы в Genymotion тоже виртуализация. HAXM это костыль для QEMU. И не стоит забывать, что CPU — это еще не вся машина
                                  • НЛО прилетело и опубликовало эту надпись здесь
                                    • 0
                                      Со сглаживанием шрифтов беда какая-то

                                      А я думал, что это у меня с монитором что-то.

                                      После блокировки Андроид подвис секунд на 10 (не реагировал на касания)

                                      Это «стандартное» поведение. Иногда он вообще падает из блокировки в «белый» экран и больше не просыпается.
                        • НЛО прилетело и опубликовало эту надпись здесь
                          • +1
                            Интересно, а SMS он получать умеет?
                            Образ, запущенный в VM, — не умеет.
                            • –1
                              Проще купить Nexus 10.
                              • –3
                                Да, у каждого имеются 12к рублей для того же самого первого опыта в Андройд написании.
                                • –1
                                  Инвестиция окупается за месяц.
                                  • +2
                                    Ну если за месяц сделать гениальное приложение, которое получит 12к рублей в месяц, то может быть. Но так почти не бывает.
                                    • 0
                                      У вас каждый первый опыт инвестируется?
                                    • 0
                                      Видимо все таки каждый имеет 12к рублей для того, чтобы сразу же начать разрабатывать. Не зависимо от того, пойдет оно или нет :)
                                  • +1
                                    Тоже сегодня прочитал блог Cyril Mottier и сразу бросился тестить. Насторожили такие моменты?
                                    1. Все время отпадает от adb, лечится только перезапуском эмулятора (надеюсь пофиксят).
                                    2. Требует регистрации и логина, что говорит о том, что продукт будет каким-то образом монетизироваться. Надеюсь, они выберут демократичный путь, что-то типа покупки образов для тестирования.

                                    К сожалению, у меня AMD, иначе бы пользовался образами образами x86 для Интел.
                                    • 0
                                      Не знаю связано ли, но на маке отпаданий от adb не заметил.
                                      • +1
                                        Про (1): adb kill-server/adb start-server не помогает? Стандартный эмулятор тоже этим болеет, kill-server/start-server помогает, и гораздо быстрее, чем перезапускать эмулятор.
                                        • 0
                                          Вот как раз перезапуск демона и не помогает. Я первым делом попробовал.
                                          • 0
                                            Даже реальный девайс этим страдает (на самом деле больше похоже на проблему демона, раз его перезапуск решает проблему).
                                        • 0
                                          Извините, вопрос непрофессионала!
                                          А можно его использовать для запуска андроид -программ под вин? И для передачи данных андроид — вин?
                                          • +1
                                            Там просто виртуалбокс. Вполне можно. Пока не ставил, так что не могу сказать ничего о производительности, но как минимум передача данных через adb точно будет работать.
                                            • –1
                                              Как говорят там просто VirtualBox, т.е. x86 архитектура, девайсы на андроид почти всегда с arm архитектурой. Т.е. программы скорее всего не будут работать или будут, но далеко не все.
                                              • НЛО прилетело и опубликовало эту надпись здесь
                                                • +1
                                                  Даже приложения с нативными библиотеками сейчас часто содержат либы для разных платформ, но так как Маркет позволяет разделять apk на несколько для разных ЦП, то файл, выдранный с ARM-устройства, соответственно может не завестись на x86-эмуляторе.
                                                  • НЛО прилетело и опубликовало эту надпись здесь
                                                  • 0
                                                    Многие интересные приложения платформозависимые, к примеру банальное приложение для соц сети Вконтакте содержил армовую версию ffmpeg для проигрования мультимеди данных. Слабо представляю как оно будет работать в x86 виртуализированной среде. Другое дело что можно найти apk-шку для x86.
                                              • +2
                                                Вроде как BlueStacks тоже быстрый.
                                                • +1
                                                  Когда я последний раз его смотрел, он отказался запускаться по той причине, что установлено ПО виртуализации. Как было сказано разработчиками, BlueStacks не будет работать если у вас установлено что либо из списка:
                                                  a) Microsoft Virtual PC
                                                  b) Intel's Hardware Accelerated eXecution Manager (HAXM) released with latest Android SDK (а это уже откровенный бред !)
                                                  c) Microsoft Windows 7 XP mode (!?!)
                                                  d) VMWare Workstation,
                                                  e) Oracle VirtualBox
                                                  Это делает его абсолютно неприемлемым для разработчиков.
                                                  • +1
                                                    Всё работает без проблем.
                                                    • 0
                                                      Подтверждаю — VB, WMWare player, BlueStacks. Причем скорость работы выше, фишки плотной интеграции в хост-систему (установка apk дабл кликом) и по мелочи.
                                                • 0
                                                  Я бы сказал проблема наоборот, под интеловским образом обычного эмулятора андроид все работает быстрее чем в реальной жизни. Сложно оценить тяжелые моменты.
                                                  • 0
                                                    «Application Failure detected» — при попытке поиска и установки приложений. Я так понимаю — из-за того что большинство приложений всё-таки на ARM?
                                                    • 0
                                                      Хотя apk чрез adb установился. Правда звук с треском, но я уж привык что идеала не бывает.Ну ладно, поиграем с ребёнком в light-bot на PC.
                                                  • 0
                                                    Я никак не могу понять: почему они не сделают «эмулятор» на базе принципа запуска x86-версии Dalvik VM поверх реального процессора ПК? Ведь замечательно бы было для задачи отладки приложений, не использующих NDK. Да, я слышал, вроде есть какие-то решения на этом прицнципе, но на сколько я понял, они не предназначены для отладки приложений и не умеют имитировать окружение смартфона.
                                                    • 0
                                                      Блин, а как экран повернуть в эмуляторе? (-:
                                                      • –1
                                                        В стандартном — LCtrl+F11
                                                      • 0
                                                        Эмулятор + HAXM + GPU Acceleration вот уже где-то год работает прекрасно, и более чем достаточно, даже чтобы тестировать анимации.
                                                        • 0
                                                          Чего же не протестироли Intel Atom x86 образ + Use Host GPU, ах да, он жешь работает быстрее virtualbox.
                                                          На самом деле, интеловский образ очень и очень шустрый, я бы даже сказал что на уровне или даже быстрее виртал бокса (genymotion).

                                                          1. Другая проблема с genymotion — размер экрана, он выставлен не правильно. Размер экрана со всеми кнопками, меньше чем выбран, из-за чего нельзя понять, толи графика из программы размытая, толи из-за того что не правильно выставлен размер.
                                                          2. Иногда отваливается adb на genymotion.
                                                          3. Нет возможности легко запустить образ с другим разрешением экрана или dpi

                                                          Ни одной из этих проблем нету на оригинальном эмуляторе.
                                                          Но конечно, genymotion, является спасением для не Intel пользователей.
                                                          • +1
                                                            3. Есть (кнопка в виде монитора в списке устройств).
                                                            Насчет производительности — не соглашусь. Даже при Use Host GPU 3Д-графика у меня еле ползает почему-то, в Genymotion же — ОК.
                                                            Ну и мне, например, в Genymotion важна поддержка Bluetooth, которой в родном эмуляторе нет совсем.
                                                            • 0
                                                              Опять же, там только пред определенный список, который нельзя настраивать, беглый просмотр показывает, что нету например hdtv.
                                                              В родном эмуле вы можете создать любое разрешение, с любым dpi, а так же выбрать тип: xlarge/large/long и тд.

                                                              > Насчет производительности — не соглашусь
                                                              Может видюха какая то слабая стоит? Я сделал простой instrumentation test (10 тестов гоняют активити), и он отработал на 1сеунду быстрее genymotion. И это не какой нибудь там unit test, тут полноценно создаются активти, если бы оно тормозило, то по времени было бы медленнее чем genymotion.
                                                              То есть и на глаз видно что чуть быстрее, и это так же подтверждают тесты.
                                                              • 0
                                                                Отписались из суппорта, обещали в следующей версии исправить размеры экрана и добавить настройки для dpi.

                                                                p.s. если у вас еле ползает, значит образ не интеловский выбран, должен быть CPU/ABI: Intel Atom (x86)

                                                            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.