Мы спасены! 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 находится в активной стадии разработки и ему не хватает некоторых фич, но, на мой взгляд, он уже годен для использования в продакшене.
    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 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 при этом быстрее.
                              • UFO just landed and posted this here
                                  0
                                  Как бы в Genymotion тоже виртуализация. HAXM это костыль для QEMU. И не стоит забывать, что CPU — это еще не вся машина
                                  • UFO just landed and posted this here
                                      0
                                      Со сглаживанием шрифтов беда какая-то

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

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

                                      Это «стандартное» поведение. Иногда он вообще падает из блокировки в «белый» экран и больше не просыпается.
                        • UFO just landed and posted this here
                            +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
                                            Даже реальный девайс этим страдает (на самом деле больше похоже на проблему демона, раз его перезапуск решает проблему).
                                            +2
                                            И плагины, чуть не забыл:
                                            Eclipse
                                            IDEA
                                            0
                                            Извините, вопрос непрофессионала!
                                            А можно его использовать для запуска андроид -программ под вин? И для передачи данных андроид — вин?
                                              +1
                                              Там просто виртуалбокс. Вполне можно. Пока не ставил, так что не могу сказать ничего о производительности, но как минимум передача данных через adb точно будет работать.
                                                –1
                                                Как говорят там просто VirtualBox, т.е. x86 архитектура, девайсы на андроид почти всегда с arm архитектурой. Т.е. программы скорее всего не будут работать или будут, но далеко не все.
                                                • UFO just landed and posted this here
                                                    +1
                                                    Даже приложения с нативными библиотеками сейчас часто содержат либы для разных платформ, но так как Маркет позволяет разделять apk на несколько для разных ЦП, то файл, выдранный с ARM-устройства, соответственно может не завестись на x86-эмуляторе.
                                                    • UFO just landed and posted this here
                                                      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.
                                                          +1
                                                          Не мучайтесь — вот оригинальные веб-версии:

                                                          Light-bot
                                                          Light-bot 2.0
                                                            0
                                                            Вот спасибо, мил человек!
                                                        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)

                                                                Only users with full accounts can post comments. Log in, please.