Об эмуляторе Android под названием Bluestacks на Хабре уже писали. Но писали или в общем, или мало, или сухо. Тем временем проект подрос и ныне вполне пригоден для использования при тестировании и отладке приложений под Android. Зачем это делать? А затем, что Bluestacks работает намного, нет, даже намного-намного быстрее стандартного эмулятора из Android SDK. Под катом я расскажу о нюансах использования Bluestacks, настройке отладки из-под Eclipse, приведу пару замеров скорости работы и расскажу о нескольких ложках дёгтя в бочке мёда.
Установка
Всё стандартно — качаем, ставим. Предупреждаю сразу, по ходу установки эмулятора на Win7 он у меня завис, причём качественно так — вместе с Windows. Это, конечно, немного испортило первое впечатление, но после перезагрузки Bluestacks заработал нормально. В общем, можно воспринимать это всё как принудительную перезагрузку по ходу установки — закрывайте важные программы перед запуском инсталлятора.
Запуск
Запускается ярлычком на рабочем столе или из контекстного меню иконки в трее. Запуск на моём компьютере занимает 25 секунд, а стандартного эмулятора — 58 секунд. Запуск, конечно, мелочь — происходит максимум пару раз в день. Но всё-равно приятная мелочь.
Отладка в Eclipse
Если вы запустите сначала Bluestacks, а потом Eclipse, то Eclipse сам найдёт эмулятор (это можно проверить на табе «Devices»).
Если вы будете перезапускать эмулятор иили Eclipse — соединение может потеряться. Восстановить его можно командой
adb connect 127.0.0.1
Утилита adb входит в Android SDK (у меня она находится в папке C:Users%MyUser%android-sdkplatform-tools)
Теперь при запуске вашего Андроид-приложения оно будет устанавливаться и запускаться не на стандартном эмуляторе, а на Bluestacks.
Скорость работы (субъективно)
После месяцев работы на тормозном стандартном эмуляторе вам покажется, что это магия. Отклик мгновенный. Открытие нового экрана (по обработчику на кнопке) происходит еще до того, как ваш палец замрёт после отпускания кнопки мыши. Всякие там асинхронные запросы к сети, по ходу работы которых на обычном эмуляторе долго крутился прогресс-бар теперь вызывают сомнения в том, что прогресс-бар вообще появляется. А самое главное — теперь по ходу отладки можно открыть вкладку Variables в Eclipse с полусотней свойств объектов и увидеть их все сразу, моментально, а не наблюдать 10 секунд анимацию их обновления — от самого верхнего к самому нижнему. В общем, наконец-то можно работать.
Скорость работы (объективно)
Установка и запуск Hello World
Тест первого деплоя, при запущенном эмуляторе, от «Run» в Eclipse до надписи «Hello World » на экране.
Стандартный эмулятор — 28 сек
Bluestacks - 7 сек
Цикл
Замерялось время выполнения вот такого кода:
long startTime = System.currentTimeMillis();
long a = 0;
Random rnd = new Random();
for (int i = 0; i < 10000000; i++){
a += rnd.nextLong();
}
long estimatedTime = System.currentTimeMillis() - startTime;
Log.d(Long.toString(a), Long.toString(estimatedTime));
Стандартный эмулятор — 41 сек
Bluestacks — 2.3 сек
Запрос статической странички с веб-сервера в локальной сети
Стандартный эмулятор — 4 сек
Bluestacks — 0.8 сек
FAQ
Он платный, что ли?
Неа. Ну пока, по крайней мере.
Где ложка дёгтя?
За время пользования Bluestacks (пару недель) я нашел три смущающих момента:
- Он иногда зависает. Так же, как при установке — вместе с Windows. Иногда — это где-то 1 раз в 2-3 дня при использовании по 10 часов в день. Поскольку перезагрузка занимает у меня 1 минуту максимум, а времени и нервов Bluestacks экономит просто вагон, я счёл это приемлимой жертвой.
- Он ставит в эмулятор какие-то свои приложения и показывает их на специальной панельке «Рекомендованные». Может быть ему кто-то за них платит(хотя на сайте говорят, что нет). В любом случае — это просто немного лишнего трафика и пару иконок. Запускать эти программы никто не заставляет.
- При запущенном Bluestacks в родительской ОС иногда перестают работать клавиши-стрелки (влево, вправо, вверх, вниз). Почему это происходит и как бороться я пока не разобрался.
А под Linux и Mac работает?
Под Mac — да, под Linux — пока нет.
Размер экрана и ориентация меняются?
Частично. Есть несколько конфигураций, между которыми можно переключаться. Выбрать произвольный размер пока нельзя.
Пожалуйста, задавайте вопросы в комментариях. На что смогу ответить — добавлю сюда.
Ссылки по теме
Сам Bluestacks
Форум
FAQ на родном сайте
Автор: tangro