2010-03-01 10 views
15

Como dice el título, ¿qué tan "bueno" es el emulador de Android?¿Qué tan "bueno" es el emulador de Android?

No tengo un teléfono con Android, pero ¿sería posible desarrollarlo exclusivamente utilizando el emulador como entorno de prueba?

Mis preguntas iniciales al respecto:

  • es el emulador tan sensible como un teléfono androide normal (por supuesto, esto depende del teléfono exacto, pero en general)?
  • ¿Hay alguna manera de controlar la memoria en el emulador?
  • ¿Alguien ha tenido problemas que hayan sido marcados en el teléfono pero no en el emulador? ¿o viceversa?
  • ¿Cuál es su procedimiento de prueba normal para probar tanto en todo, o emulador de forma recursiva y por teléfono al final?

Cualquier comentario sería apreciado.

Gracias,

Respuesta

7

Q: ¿Es el emulador tan sensible como un teléfono androide normal (por supuesto, esto depende del teléfono exacto, pero en general)?
A: ¡Absolutamente no! El peor ejemplo es el 3D, que es, afaik, solo emulación de software.

P: ¿Hay alguna manera de controlar la memoria en el emulador?
A: Especifique, el tamaño de la tarjeta SD es configurable, la memoria RAM/VM ... No lo sé.

P: ¿Alguien ha tenido problemas que hayan sido marcados en el teléfono pero no en el emulador? ¿o viceversa?
R: Cada dispositivo tiene su propia personalización. En el emulador solo puede cambiar la resolución de la pantalla, pero tenga cuidado: el tamaño de la pantalla del emulador depende de la densidad de píxeles que configure. Entonces, lo que podría verse bien en tu gran emulador podría ser demasiado pequeño en un dispositivo real. Y no lo olvides, un dedo es mucho más grande y no tan preciso como el cursor del mouse.

P: ¿Cuál es su procedimiento de prueba normal para probar en ambos dispositivos, o el emulador recursivamente y el teléfono al final?
A: la funcionalidad se prueba durante la implementación principalmente en un dispositivo (rápido), como un Nexus One. La prueba real después de la implementación estará en tantos dispositivos como sea posible. También la interfaz de usuario (la mayoría de las diferencias)

Como tengo un dispositivo que tiene el último SDK, prefiero probar en el dispositivo. Eso no es necesario para programar una aplicación, pero por favor: no publique una aplicación sin al menos una ronda de prueba en un dispositivo real :)

+2

La velocidad del emulador depende en gran medida de su máquina. En los MacPros que utilicé para el desarrollo, el emulador es más rápido que los teléfonos reales (excepto Droid y NexusOne). –

3
  1. Sí, el emulador es muy rápido.
  2. Sí, puede establecer el tamaño de RAM del objetivo que desea emular.
  3. Estoy seguro de que alguien lo ha hecho, pero yo no.
  4. Normalmente pruebo en el emulador durante el desarrollo, luego en mi G1 cuando estoy listo para una prueba a más largo plazo. Después de eso, pruebo en el emulador al verificar la compatibilidad con los objetivos 1.5, 2.0 y 2.1.

Ver las opciones compatibles. Tenga en cuenta que hay una herramienta de GUI para configurarlas también.

+0

Ok, nunca tuve un G1 (primero era un Galaxy), pero en comparación con el N1, el emulador es más lento. Es bueno ver que alguien se divierte más con el emulador que yo – WarrenFaith

+0

Tengo un G1, HTC Hero y Nexus One aquí y el emulador es el mismo que el G1 y el Hero, el mismo tipo de velocidad, pero como WarrenFaith dice que el Nexus One es mucho más rápido gracias a ese procesador SnapDragon –

1

Para responder a la pregunta general sobre cuán "bueno" es el emulador, debe ver qué es el emulador.

El emulador es una pieza de software (qemu) que puede ejecutar las instrucciones de armado en una máquina de revelado mediante emulación. Esto significa que el emulador ejecutará una plataforma Android similar a la que se está ejecutando en un dispositivo físico. Esta configuración es mejor que usar un simulador donde la plataforma se compila para la máquina de desarrollo y no para el hardware de destino. Sin embargo, existe una serie de limitaciones, tales como

  • soporte periférico - una plataforma móvil incluye una serie de fichas de compañía tales como Bluetooth, WiFi, GPS, acceso de radio, la aceleración de gráficos, etc. Todos estos están interactuando con el principal CPU en formas que no son predecibles y difíciles de simular en el emulador. Algunos son compatibles de forma limitada, como el acceso a Internet, mientras que otros no son compatibles, como bluetooth.
  • rendimiento: el emulador no es un procesador real y no puede usar aceleradores físicos disponibles en un dispositivo real. También utiliza el hardware de la máquina host para muchas cosas, lo que significa que el acceso a la memoria y elementos similares se comportan de manera diferente en comparación con las pruebas en un dispositivo real.

La regla general es que, si es posible, intente hacer tantas pruebas como sea posible en un dispositivo para evitar sorpresas al final. El emulador es bueno para cosas tales como la prueba de funcionalidad general, pruebas iniciales para evitar errores obvios y comprobar que los diseños y la interfaz de usuario se vean decentes en diferentes tamaños de pantalla. Cuando se trata de pruebas o comportamientos críticos para el rendimiento cuando se interactúa con el mundo exterior, como la interacción de red, no se recomienda el emulador. Puede decirte que tu aplicación tiene problemas serios, pero no confíes "lo suficientemente bien" en el emulador como para ser lo suficientemente bueno para el mundo real.

1

Voy a responder el # 3 solamente, porque las otras respuestas ya se han cubierto.

Definitivamente hay algunos problemas que solo están presentes en el emulador y no en el dispositivo. Uno grande es que el modo de aeropuerto simplemente no funciona en el emulador; Internet todavía funciona a pesar de encender el modo de aeropuerto.

Además, si solo está utilizando un emulador de stock, no puede acceder al mercado, lo que significa que cualquier forma en que su aplicación pueda tratar de interactuar con ella no se puede probar a través del emulador.

Sé que hay algunos otros problemas menores que he encontrado entre un dispositivo real y el emulador. Hay cosas suficientes como para recomendar encarecidamente que no se desarrolle únicamente en un emulador.

0

Con emulador solamente su prueba tendrá más pruebas de simulacro para cubrir:

-touch -Sensor

Hay marcos de plug-in para simular el movimiento del sensor/dispositivo, la cámara mediante el uso de la cámara web, etc.

0
  1. Necesita memoria para usar emulatord como el emulador AVD, el emulador es bueno para probar pero a veces puede fallar sin razón.
  2. Sí, puede cambiar esta configuración muchas veces.
  3. Hace un tiempo no puedo emular el accelómetro, pero ahora sí puedo.
  4. Prefiero probar mi aplicación en un dispositivo real.Prefiero probar mi aplicación en dispositivos reales (si mis amigos no pueden arruinarlo y las pruebas JUnit funcionan, entonces no debería ser un problema), pero pruebo diferentes tamaños de pantalla en los emuladores.
Cuestiones relacionadas