Как "хорошо" - это эмулятор Android?

Как гласит название, как "хорошо" является эмулятор Android?

У меня нет телефона Android, но можно ли было бы развивать его с использованием эмулятора в качестве среды тестирования?

Мои исходные вопросы:

  • Является ли эмулятор таким же отзывчивым, как обычный Android-телефон (конечно, это зависит от конкретного телефона, но в целом)?
  • Есть ли способ управлять памятью на эмуляторе?
  • У кого-нибудь были проблемы, отмеченные на телефоне, но не эмулятор? или наоборот?
  • Какая ваша обычная процедура тестирования должна протестировать как на всем протяжении, так и на эмуляторе рекурсивно и на телефоне в конце?

Любая обратная связь будет оценена.

Спасибо,

Ответы

Ответ 1

Q: Является ли эмулятор таким же отзывчивым, как обычный Android-телефон (конечно, это зависит от конкретного телефона, но в целом)?
A: Абсолютно нет! Худшим примером является 3D, а именно, афайк, только эмуляция программного обеспечения.

Q: Есть ли способ управлять памятью на эмуляторе?
A: Пожалуйста, укажите, размер SD-карты настраивается, RAM/VM-Memory... Я не знаю.

В: У кого-нибудь были проблемы, отмеченные на телефоне, но не эмулятор? или наоборот?
A: У каждого устройства есть своя настройка. На эмуляторе вы можете изменить разрешение экрана, но предостережение: размер экрана вашего эмулятора зависит от плотности пикселей, которую вы настроили. Итак, что может показаться хорошим на вашем большом эмуляторе, может быть слишком крошечным на реальном устройстве. И не забывайте, что палец намного больше и не так точен, как курсор мыши.

В: Какая ваша обычная процедура тестирования должна протестировать как по всему, так и эмулятор рекурсивно и по телефону в конце?
A: Функциональность тестируется во время реализации в основном на (быстром) устройстве, например Nexus One. Настоящий тест после внедрения будет как можно больше устройств. Пользовательский интерфейс тоже (большинство различий там)

Поскольку у меня есть устройство с последним SDK, я предпочитаю тестирование на устройстве. Это не обязательно для программирования приложения, но, пожалуйста, не публикуйте приложение, по крайней мере, на одном тестовом раунде на реальном устройстве:)

Ответ 2

  • Да, эмулятор очень быстрый.
  • Да, вы можете установить размер ОЗУ цели, которую вы хотите эмулировать.
  • Я уверен, что у кого-то есть, но у меня нет.
  • Обычно я тестирую эмулятор во время разработки, а затем на своем G1, когда я готов к долгосрочному тестированию. После этого я тестирую эмулятор при проверке совместимости с объектами 1.5, 2.0 и 2.1.

См. здесь для целей поддержки опций. Обратите внимание, что для их настройки также есть инструмент графического интерфейса.

Ответ 3

Чтобы ответить на общий вопрос о том, как "хороший" эмулятор вам нужно посмотреть, что такое эмулятор.

Эмулятор представляет собой часть программного обеспечения (qemu), которое может запускать инструкции на машине разработчика с использованием эмуляции. Это означает, что эмулятор будет запускать платформу Android, подобную той, что работает на физическом устройстве. Эта настройка лучше, чем использование симулятора, где платформа скомпилирована для машины разработки, а не для целевого оборудования. Однако существует ряд ограничений, таких как

  • периферийная поддержка - мобильная платформа включает в себя ряд сопутствующих чипов, таких как bluetooth, wlan, gps, радиодоступа, ускорение графики и т.д. Все они взаимодействуют с основным процессором способами, которые не предсказуемы и трудно имитировать на эмулятор. Некоторые из них поддерживаются ограниченным образом, такие как доступ в Интернет, в то время как другие не поддерживаются вообще, например, bluetooth.
  • производительность - эмулятор не является реальным процессором и может не использовать физические ускорители, доступные на реальном устройстве. Он также использует аппаратное обеспечение хост-машины для многих вещей, что означает, что доступ к памяти и аналогичные элементы ведут себя по-разному по сравнению с тестированием на реальном устройстве.

Общее правило заключается в том, что, если возможно, попробуйте сделать как можно больше тестов на устройстве, чтобы избежать неожиданностей в конце. Эмулятор хорош для таких вещей, как тестирование общей функциональности, первоначальное тестирование, чтобы избежать очевидных ошибок и проверки того, что макеты и пользовательский интерфейс выглядят прилично при разных размерах экрана. Когда дело доходит до любого критически важного тестирования или поведения при взаимодействии с внешним миром, например сетевого взаимодействия, эмулятор не рекомендуется. Он может сказать вам, что ваше приложение имеет серьезные проблемы, но не доверяет "достаточно хорошему" на эмуляторе, чтобы быть достаточно хорошим для реального мира.

Ответ 4

Я собираюсь ответить только на # 3, потому что другие ответы уже были рассмотрены.

Есть определенные проблемы, которые присутствуют только на эмуляторе, а не на самом устройстве. Один большой - то, что режим аэропорта просто не работает на эмуляторе; Интернет по-прежнему работает, несмотря на то, что он включен в режим аэропорта.

Кроме того, если вы просто используете запасной эмулятор, вы не можете получить доступ к рынку, а это значит, что любой способ, которым ваше приложение может взаимодействовать с ним, не может быть протестирован с помощью эмулятора.

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

Ответ 5

С эмулятором только ваше тестирование будет иметь более макет тестирования:

-Touch -sensor

Существуют рамки для плагина для имитации движения датчиков/устройств, камеры с помощью веб-камеры и т.д.

Ответ 6

  • Вам нужна память для использования эмулятора, такого как эмулятор AVD, эмулятор хорош для тестирования, но иногда он может сбой без причины.
  • Да, вы можете изменять эти настройки много раз.
  • Некоторое время назад я не могу эмулировать ускоритель, но сейчас могу.
  • Я предпочитаю проверять свое приложение на реальном устройстве. Я предпочитаю тестировать свое приложение на реальных устройствах (если мои frends не могут его свернуть, а тесты JUnit работают, то это не должно быть проблемой), но я тестирую разный размер экрана на эмуляторах.