¿Por qué el emulador de Android es tan lento? ¿Cómo podemos acelerar el emulador de Android? [cerrado]

3399

Tengo un   procesador Celeron de 2.67 GHz y 1.21   GB de RAM en una máquina x86 Windows XP Professional.

Según tengo entendido, el emulador de Android debería iniciarse bastante rápido en una máquina de este tipo, pero para mí no. He seguido todas las instrucciones para configurar el IDE, SDK, JDK y demás, y he tenido éxito al iniciar el emulador rápidamente, pero eso es muy raro. ¿Cómo puedo, si es posible, solucionar este problema?

Incluso si se inicia y carga la pantalla de inicio, es muy lenta. He probado el IDE de Eclipse en la versión 3.5 (Galileo) y 3.4 (Ganímedes).

Peter Mortensen
fuente
79
Alternativo es Genymotion. genymotion.com . Esto es mucho más rápido. Instalación sencilla.
Sukitha Udugamasooriya
99
He encontrado que el emulador se ejecuta de manera más rápida (y me refiero a muuuucho) más rápido en Linux. Tengo una computadora portátil con arranque dual, en Windows el emulador tarda unos 15 minutos en iniciarse, con Linux unos 30 segundos. No conozco otros sistemas operativos como OSX, pero me parece una cosa de Windows.
Daniël van den Berg
11
Se informa que Android Studio 2.0 no solo tiene un emulador mucho más rápido, sino que emplea "ejecución instantánea", que permite que ciertos cambios en su fuente, como el XML, se implementen en segundos en el destino sin que el APK tenga que ser reconstruido y redistribuido Ver android-developers.blogspot.co.uk/2015/11/…
Carl Whalley
12
Creo que su ram es muy pequeño para que un emulador funcione más rápido.
Zia U Rahman
55
Una forma de evitar comentarios confusos podría ser tener un pequeño cuadro de aviso que diga que la pregunta es anterior a, digamos, 2 años. La tecnología está cambiando rápidamente, y desearía que la edad afecte el rango, a pesar de que la pregunta no debe cerrarse / archivarse como en sitios menores.
Henrik Erlandsson

Respuestas:

1436

Actualizar

Ahora puede habilitar la opción de inicio rápido para el emulador de Android. Eso ahorrará el estado del emulador, e iniciará el emulador rápidamente en el próximo arranque.

Haga clic en el botón de edición del emulador, luego haga clic Show Advanced Setting. Luego habilite Quick Bootcomo se muestra a continuación.

Arranque rápido

Las Herramientas de desarrollo de Android (ADT) 9.0.0 (o posterior) tienen una función que le permite guardar el estado del AVD (emulador) y puede iniciar su emulador al instante. Debe habilitar esta función mientras crea un nuevo AVD o puede crearlo más tarde editando el AVD.

También he aumentado el Device RAM Sizea lo 1024que resulta en un emulador muy rápido.

Consulte las siguientes capturas de pantalla para obtener más información.

Crear un nuevo AVD con la función de guardar instantánea.

Emulador de Android con función de guardar instantánea.

Lanzamiento del emulador desde la instantánea.

Lanzamiento del emulador desde la instantánea.

Y para acelerar tu emulador, puedes consultar ¡Acelera tu emulador de Android! :

Vikas Patidar
fuente
23
Cuando actualice un dispositivo existente, borre los datos del usuario en el primer inicio de la instantánea
Mark Bakker,
16
Configuré el AVD como esto, pero aún parece lento cuando reinicio el AVD, ¿por qué?
zhongshu
99
@ Peter Ehrlich: simplemente vaya a la ventana> Android SDK y AVD Manager y seleccione AVD que desea iniciar de la lista y luego haga clic en el botón Inicio en el panel derecho. Se abrirá lo mismo que quieras.
Vikas Patidar
3
Obtuve "Error al asignar memoria" cuando configuré 1024. También mostró una advertencia en la parte inferior de la ventana de configuración que decía: "En Windows, emular una RAM superior a 768M puede fallar dependiendo ..." Traté de configurarlo en 770, y entonces funcionó. No pudo establecerlo en 800.
temor
55
@ Msmit1993: puede usar el emulador basado en Intel x86 con la herramienta HAX. Créeme, te sorprenderá ese emulador más rápido que tu dispositivo real.
Vikas Patidar
1135

NOTA IMPORTANTE : Por favor, primero se refiere a la lista de Intel VT sobre asegurarse de que sus soportes de CPU Intel VT.

HAXM acelera el lento emulador de Android

HAXM significa "Intel Hardware Accelerated Execution Manager"

Actualmente, solo admite Intel® VT (Tecnología de virtualización Intel).

El emulador de Android está basado en QEMU . La interfaz entre QEMU y el controlador HAXM en el sistema host está diseñada para ser independiente del proveedor.

HAXM

Pasos para configurar su entorno de desarrollo de Android para HAXM

  1. Actualice Eclipse: asegúrese de que su instalación de Eclipse y el complemento ADT estén completamente actualizados.

  2. Actualice sus herramientas de Android: después de cada actualización del complemento Eclipse, es importante actualizar sus herramientas de Android SDK. Para hacer esto, inicie el Administrador de Android SDK y actualice todos los componentes de Android SDK. Para aprovechar HAXM, debe tener al menos la versión de lanzamiento 17.

Ingrese la descripción de la imagen aquí

  • Descargue las imágenes del sistema x86 Atom y el controlador Intel Hardware Accelerated Execution Manager Driver . Sigue la imagen a continuación:

Ingrese la descripción de la imagen aquí

  • Instale el controlador HAXM ejecutando "IntelHaxm.exe". Se ubicará en una de las siguientes ubicaciones:

    • C:\Program Files\Android\android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager

    • C:\Users\<user>\adt-bundle-windows-x86_64\sdk\extras\intel\Hardware_Accelerated_Execution_Manager

    Si el instalador falla con el mensaje de que Intel VT debe estar encendido, debe habilitarlo en el BIOS . Consulte la descripción de cómo hacer esto en Habilitar Intel VT (Tecnología de virtualización) .

Instalar .exe o .dmg

  • Cree un nuevo AVD x86: siga la imagen a continuación:

Crear AVD

  • O en cuanto al nuevo SDK, Ingrese la descripción de la imagen aquí
Prashanth Sams
fuente
19
Buena redacción. Si está buscando documentos de Google (incluye algunas diferencias para Mac), puede encontrarlos aquí: developer.android.com/tools/devices/emulator.html#accel-vm
Precio de Todd
103
No funciona en Linux.
Kshitiz Sharma
14
Probé esta solución. Funcionó. Sin embargo, instalé usando MonoDroid y no pude encontrar IntelHaxm.exe por un minuto. Fue aquí: C: \ Users \ jbarneck \ AppData \ Local \ Android \ android-sdk \ extras \ intel
Rhyous
11
¡Guau, no puedo agradecerte lo suficiente! No puedo creer que estuviese viviendo con el emulador lento todo este tiempo. Pensé que era normal. Sin embargo, realmente extraño los tiempos de inicio rápido, ¿no hay una manera de habilitar la instantánea junto con la aceleración de la GPU?
Reda
3
Eso funciona muy bien. ¡Muchas gracias por compartir esto! Cuando "Usar Host GPU" está habilitado, el emulador parpadea mucho, pero también sin Host GPU habilitado, ahora es realmente rápido.
user1619275
595

Prueba Android x86 . Es mucho más rápido que el emulador de Google Android. Sigue estos pasos:

  1. Instala VirtualBox .
  2. Descargue el archivo ISO que necesita.
  3. Cree una máquina virtual como Linux 2.6 / Otro Linux, 512 MB de RAM, HD 2 GB. Red: PCnet-Fast III, conectada a NAT . También puede usar un adaptador con puente, pero necesita un servidor DHCP en su entorno.
  4. Instale Android x86 en el emulador, ejecútelo.
  5. Presione Alt+ F1, escriba netcfg, recuerde la dirección IP, presione Alt+ F7.
  6. Ejecute cmd en su sistema Windows XP, cambie el directorio a su directorio de herramientas de Android, escriba adb connect <virtual_machine_IP>.
  7. Inicie Eclipse, abra el complemento ADT, encuentre el dispositivo y ¡disfrute!
Pehat
fuente
66
Así que me conecté. ¿Cómo consigo que la pantalla sea vertical? Tampoco veo los botones de hardware del teléfono en ningún lado.
Alex
44
¡Solo para recordarles que necesitan habilitar la integración del mouse en el menú del dispositivo si desean usar el mouse en el emulador!
kakopappa
13
Tenga en cuenta que si está utilizando algo específico para ARM (como Mono para Android, por ejemplo), no funcionará en Android x86.
Matthew Groves
11
Para mí, netcfg muestra lo 127.0.0.1 255.0.0.0 0x00000049 ¿Aquí está 127.0.0.1 IP que debo mencionar en el comando adb? muestra "no se puede conectar a 127.0.0.1:5555" Por favor, ayuda.
Riz
318

ACTUALIZACIÓN: La última versión de Android Studio (2.x) realizó importantes mejoras en el emulador incluido. Es sensible y tiene un montón de características.

Para aquellos que todavía están interesados: intente usar Genymotion . Puede descargar una versión para Windows / Mac OS X / Linux después de registrarse. Un complemento para Eclipse también está disponible:

La instalación del complemento puede realizarse iniciando Eclipse y yendo al menú "Ayuda / Instalar nuevo software", luego simplemente agregue un nuevo sitio de actualización con la siguiente URL: http://plugins.genymotion.com/eclipse . Siga los pasos indicados por Eclipse.

Este emulador es rápido y receptivo.

GenyMotion le permite controlar varios sensores de su dispositivo, incluido el nivel de batería, la intensidad de la señal y el GPS. La última versión ahora también contiene herramientas de cámara.

blaffie
fuente
52
Genymotion es, con mucho, la mejor manera de desarrollar / probar su aplicación. No solo es más rápido y mejor que un emulador tradicional. También es más rápido que un dispositivo real. Lo uso para el 99.99% de mis implementaciones, ya que significa que puedo ver los resultados en una fracción del tiempo. También significa que puedo usar OpenGL ES y otras cosas que no están disponibles en un emulador normal.
Eurig Jones el
2
Las versiones más recientes de Genymotion no incluyen los servicios de Google Play. Este enlace muestra cómo instalarlos manualmente: forum.xda-developers.com/showthread.php?t=2528952
Apfelsaft
2
Está bien hasta que reinstales el VBox o cualquiera de las herramientas que usan, luego deja de funcionar; la desinstalación no ayuda. Pero fue bueno mientras duró.
milosmns
55
Genymotion ya no es gratis (como lo era cuando lo usé la última vez), no estoy seguro si esta sigue siendo la mejor opción para los desarrolladores
Zain Ali
66
Desde Android Studio 2, el emulador se ha mejorado diez veces. Tiene muchas características y funciona bien.
Blaffie
213

El emulador incluido en su versión (antigua) de Eclipse es muy lento.

Los emuladores recientes son más rápidos de lo que solían ser en 2010. Actualice su SDK / IDE.

Personalmente, uso un teléfono real para hacer mis pruebas. Es más rápido y las pruebas son más realistas. Pero si desea probar su aplicación en muchas versiones diferentes de Android y no quiere comprar varios teléfonos, tendrá que usar el emulador de vez en cuando.

Nicolas Raoul
fuente
1
VMware se ejecuta con una diferencia de rendimiento inadvertida en comparación con la máquina real. Incluso si el emulador emula ARM, debería ser más rápido, incluso en la misma frecuencia del sistema y mi PC es 3.6GHz, que es más lenta que el teléfono Android de 500 MHz.
NickSoft
@rds: ¿debería mi AVD emular Intel en lugar de ARM para que se cargue más rápido?
Trojan.ZBOT
no, esto no está optimizado para x86 ... emula el hardware del teléfono x86, mientras que el teléfono común hoy en día supera fácilmente a la máquina en cuestión :)
Martin Zeitler
Te das cuenta de que ambos ejecutan el mismo emulador, ¿verdad? android-sdk \ tools \ emulator-x86.exe, nada que ver con Eclipse, probablemente haya comenzado a usar imágenes Intel x86 con Intel HAXM.
Dan Dar3
Bien comparado con lo lento que eran en los días que iban a la velocidad del rayo ahora.
Bolling
138

El inicio del emulador es muy lento. Lo bueno es que solo necesita iniciar el emulador una vez. Si el emulador ya se está ejecutando y usted ejecuta su aplicación nuevamente, el emulador vuelve a instalar la aplicación relativamente rápido. Por supuesto, si desea saber qué tan rápido se ejecutará en un teléfono, es mejor probarlo en un teléfono real.

Jay Askren
fuente
40
Si toma un par de horas, probablemente haya algo más mal. Solo me toma un par de minutos.
Jay Askren
¿Cuál es su configuración de hardware y sistema operativo?
Junior Mayhé
@Junior Mayhe: he programado para Android con Windows, Mac y Linux. Utilizo Mac con mayor frecuencia en este momento. Las computadoras que he usado tienen de 2 a 4 gigas de RAM y un procesador bastante moderno de 2 a 3 ghz. En todos los casos, parece que lleva varios minutos iniciar primero el emulador, pero luego reinstalar la aplicación es bastante rápido.
Jay Askren
3
@ user286101: cargar un nuevo apk en un emulador que ya se está ejecutando no toma más de 10 segundos en mi vieja computadora portátil (1.6Ghz de doble núcleo, 1GB de RAM), el único problema es que a menudo olvidé dejar el emulador en ejecución, así que tuve que pasar por El lento proceso de reinicio (que toma 3-5 minutos).
Lie Ryan
Lamentablemente, @LieRyan "no debería tomar más de 10 segundos", es el momento de un proyecto C ++ de tamaño simular en las máquinas actuales.
kizzx2
129

Intel lanzó las instrucciones de instalación recomendadas para el emulador ICS el 15 de mayo de 2012. Esto funcionó para mí. El emulador ahora es rápido y la interfaz de usuario es suave.

La primera mitad de las instrucciones están suficientemente detalladas, por lo que supongo que pudo instalar las imágenes del sistema Intel x86 Atom utilizando el administrador de Android SDK, así como Intel HAXM.

Ahora para asegurarse de que todo lo demás esté configurado para que pueda disfrutar de un emulador de alto rendimiento:

Y comenzarlo:

sudo kextload -b com.intel.kext.intelhaxm (mac)

Si HAXM funciona correctamente, puede ver este mensaje al iniciar el emulador:

HAX funciona y el emulador se ejecuta en modo virtual rápido

De lo contrario, puede ver este error:

HAX no funciona y el emulador se ejecuta en modo emulador: no se
pudo abrir el módulo hax

  • Use la emulación de GPU. No puede usar la opción Instantánea cuando usa la emulación de GPU a partir de este escrito. Asegúrese de que la emulación de GPU esté configurada en "sí".

  • Configure la memoria del dispositivo a 1024 MB o más , pero no más que la configuración Intel HAXM. Yo uso 1024 MB por dispositivo y 2048 para HAXM.

¡Siempre verifique dos veces la configuración después de guardar! El emulador es muy exigente con lo que le permite configurar, y revertirá las configuraciones sin avisarle.

Con esta configuración, el teclado del software ya no aparece, ni la parte posterior en pantalla, el menú y las teclas recientes. Esto parece ser una limitación de la imagen actual del sistema ICS Intel x86. Deberá usar los atajos de teclado .

En Mac OS tendrá que mantener fn+ controlpara los F1- F12claves para el trabajo. La página arriba / abajo / izquierda / derecha se puede realizar usando las teclas de control + flecha.

James Wald
fuente
Tenga cuidado al usar una máquina virtual con Intel HAXM. Aparentemente, el entorno virtual puede corromperse si la memoria del sistema se agota.
James Wald
android-dev.ro/web/guest/home Esta es otra buena instrucción paso a paso para configurar un AVD HAXM x86 en Eclipse. Además, explica cómo configurar las API de Google.
sulai
2
No estoy seguro de si soy yo quien está haciendo algo mal, pero seguí de cerca la guía y obtuve: "HAX está funcionando y el emulador se ejecuta en modo virt rápido", justo antes de que el dispositivo se inicie, pero ... en realidad se carga aún más lento que la versión original del brazo . Estoy en Mac y la CPU admite VT.
jayarjo
44
Esta es la respuesta correcta. Tengo instalado el procesador Intel x86 y tengo GPU habilitada. El emulador es muy sensible y suave con esta configuración. FINALMENTE ! Si necesita ayuda para configurarlo en Windows o Mac, hágamelo saber. Adios todos
Tony
2
Gracias por esto, probado en Windows 7 Pro, Intel Core i7 3770 y funciona. En Windows, solo es necesario instalar Intel Hardware Accelerated Execution Manager (HAXM), se iniciará automáticamente. Simplemente cree un AVD con Intel Atom x86 y asegúrese de que se seleccione "usar GPU host"
gerrytan
111

Puede crear emulator.bat con el siguiente comando para iniciar el emulador. Comenzará más rápido.

emulator.exe -cpu-delay 0 -no-boot-anim @<avd name>

O en Unix (sabores Mac o Linux):

emulator -cpu-delay 0 -no-boot-anim @<avd name>
gps
fuente
Agregar -no-boot-animredujo el tiempo de inicio en aproximadamente un 38%. ¡Gracias!
Timothy003
3
(Estudio Android) Seleccione Ejecutar> Editar Configuraciones ... . En el panel izquierdo del cuadro de diálogo Ejecutar / Depurar configuraciones , seleccione o cree una configuración. En Opciones de dispositivo de destino , seleccione AVD. En la pestaña Emulador , ingrese -no-boot-animen el campo Opciones de línea de comandos adicionales
Ivan Chau,
103

Me di cuenta de que el emulador se inicia mucho más rápido si no hay un servidor Dalvik Debug Monitor Server (DDMS) conectado. Entonces, si inicia el emulador desde Virtual Device Manager "SDK Setup.exe" y Eclipse no se inicia, el emulador funciona más rápido.

Si inicia el emulador desde Eclipse: DDMS está allí, por lo que a veces el emulador es extremadamente lento, pero a veces es más rápido.

Peter Mortensen
fuente
2
@Shekhar: DDMS = Dalvik Debug Monitor Server
Lie Ryan
si ejecutamos el emulador a través de la línea de comando Cordova de Git Bash ... ¿cómo deshabilitar el servidor Dalvik Debug Monivor de todos modos?
gumuruh
61

Los emuladores son lentos. Realmente no hay nada que puedas hacer al respecto, pero hay alternativas al emulador.

  1. Genymotion - Preferido

  2. VirtualBox

  3. BlueStacks

  4. Le hace señas

  5. Windows Android Emulator

  6. Tarro de frijoles

  7. Andy

Para acelerar su emulador, puede alojar una GPU y usar una versión de Android más ligera ( Android 2.3 (Gingerbread)). Desarrollar en una Mac sería mejor. ¿Por qué usar un emulador, por cierto? Usar un teléfono real tiene más sentido.

JRE.exe
fuente
He usado Genymotion, y debo decir que es relativamente rápido que el emulador de Android predeterminado.
Anurag
"¿Por qué usar un emulador, por cierto? Usar un teléfono real tiene más sentido". Estoy en el trabajo y no tenemos suficientes teléfonos para todos. No soy un probador, así que no tengo prioridad sobre ellos.
Almo
El emulador no es lento, pero su máquina. x86 imágenes sugeridas.
Martin Zeitler
@Almo, los teléfonos reales son una buena opción, pero el emulador le brinda espacio para hacer que su aplicación sea compatible con la mayoría del diseño de Android Version + en diferentes pantallas, ... esa es la manera de permitir que su aplicación se ejecute con menos errores antes de que se vaya a probar Con teléfonos reales. Personalmente, he visto que algunos de los problemas de diseño se pueden solucionar fácilmente al verificarlos en los diferentes emuladores ... No todos pueden permitirse el lujo de tener al menos 1 teléfono con diferentes os y tamaños de pantalla ...
Bhuro
50

A partir de la Revisión 17 de Android SDK Tools, el emulador puede usar aceleración gráfica y extensiones proporcionadas por la CPU para una mejor eficiencia. Los requisitos previos y la configuración completa y las notas del usuario se encuentran en:

http://developer.android.com/guide/developing/devices/emulator.html#acceleration

Para habilitar la aceleración de la GPU , ejecute el emulador desde la línea de comandos o agregue "-gpu on" a las opciones adicionales de la línea de comandos del emulador en la configuración AVD.

emulator -avd <avd_name> -gpu on

Para usar las extensiones de la máquina de la CPU, debe instalar el controlador (precaución porque puede entrar en conflicto con los controladores existentes de VirtualBox o VMware ). Una vez instalado, se usará automáticamente cada vez que use un AVD basado en x86.

Jokin
fuente
Acabo de descubrir esto yo mismo. ¡Hace que el emulador funcione casi tan bien como un dispositivo real!
gak
Tenga en cuenta que para usar la aceleración de GPU debe usar Android 4.0 o posterior. Además, con las herramientas actuales no puede usar AMBAS instantáneas y aceleración de GPU al mismo tiempo, tiene que elegir (personalmente prefiero tener aceleración de GPU y arranque lento del emulador).
MAV
46

Intenta deshabilitar tu antivirus. Tal vez hará que el emulador sea un poco más rápido.

Fedor
fuente
77
También encontré que esto es cierto: eliminé AVG Free e instalé MS Security Essentials, y el emulador comienza notablemente más rápido. YMMV.
Guy Starbuck
44
todavía es súper lento en los sistemas Linux ... que obviamente no suelen tener av
alex.pilon
3
No tengo antivirus. Todavía lleva años ..
Robin Maben
Mi emulador es tan lento en mi Linux sin AV que solo abre una ventana negra y se cuelga. Mi otra computadora con Windows no admite vt-x, por lo que no funciona.
Suici Doga
Intenta reiniciar tu computadora, tal vez hará que el emulador sea un poco más rápido.
vk.edward.li
44

Android SDK rev. 17 admite Virtual Machine Acceleration utilizando las tecnologías de virtualización AMD e Intel.

¡Esta característica puede mejorar mucho el rendimiento del emulador!

Consulte la siguiente sección en la documentación del emulador de Android para obtener más detalles: Configuración de la aceleración de máquina virtual

No olvide instalar el controlador apropiado para su sistema operativo:

Después de haber instalado los controladores y descargado una imagen del sistema Android X86 (como se describe en la documentación), debería poder crear un nuevo AVD usando la imagen x86:

Por ejemplo:

  • Objetivo: Imagen del sistema Intel Atom x86 - Nivel API 10
  • CPU / ABI: Intel Atom (x86)
micha
fuente
desafortunadamente, actualmente AMD-V solo es compatible con Linux (SDK rev 17).
Amir Ali Akbari
Intel HAXM hizo que mi x86 AVD sea 200% ~ 300% más rápido que antes. ¡Excelente!
Lcsky
40

La opción -cpu-delay <delay>descrita en las Opciones de inicio del emulador puede ayudar.

Peter Mortensen
fuente
1
El enlace no va a ninguna parte ahora. ¿Sigue siendo relevante?
Andrew S
40

El emulador parece ralentizarse cuando está inactivo. Esto se hace evidente al pasar rápidamente el mouse sobre las teclas laterales y observar las respuestas de iluminación. Como solución alternativa, paso -icount autoa QEMU al iniciar el emulador. Puede hacer un archivo por lotes llamado my_avd.batpara hacerlo por usted:

emulador @my_avd -no-boot-anim -qemu -icount auto
  • @my_avd - inicie un dispositivo virtual llamado 'my_avd'
  • -no-boot-anim - deshabilitar la animación para un arranque más rápido
  • -qemu args... - pasar argumentos a qemu
  • -icount [N|auto] - habilite el contador de instrucciones virtual con 2 ^ N ticks de reloj por instrucción

Esto hizo que las animaciones fueran muy suaves y se adb installmultiplicaron por diez.

Timothy003
fuente
¿Por qué icount auto lo hace más rápido?
Pacerier
gracias. -no-boot-anim parece arrancar Android más rápido!
Ajay
Impresionante ... Específicamente me quedé atrapado con una velocidad de transferencia muy baja de 'adb'. Ahora es realmente rápido, tan rápido como la imagen x86. Gracias
Mohsen Afshin
Estoy usando eclipse. ¿Sabes cómo configurar esas opciones en mi entorno?
kta
1
@MSS No tengo idea ... Han pasado años desde que usé el emulador de Android. ¡Lo siento!
Timothy003
34

La versión 9 del emulador de Android tiene una nueva función de "instantánea". Puede guardar el estado del emulador (hacer una imagen del emulador) y evitar arrancar cuando lo inicia.

androidev Alex
fuente
34

Puede revisar los problemas del emulador en Google I / O 2011: charla sobre herramientas de desarrollo de Android , comenzando a las 0:40:20.

El emulador se ejecuta lentamente porque el entorno Android completo se ejecuta en hardware emulado y las instrucciones también se ejecutan en un procesador ARM emulado.

El principal punto de estrangulamiento es la representación, ya que no se ejecuta en ningún hardware dedicado, sino que en realidad se realiza a través de la representación del software. Bajar el tamaño de la pantalla mejorará drásticamente el rendimiento del emulador. Obtener más / más memoria no va a ayudar.

En ese momento, mencionaron que están desarrollando una interfaz que permitiría que el emulador canalice ciertas instrucciones a través del hardware del host, por lo que eventualmente podrá aprovechar el rendimiento del emulador con la potencia bruta del hardware de escritorio.

Filip Dupanović
fuente
30

La versión actual (mayo de 2011) del emulador es lenta, particularmente con Android 3.0 (Honeycomb) principalmente porque el emulador no es compatible con GL de hardware; esto significa que el código GL se traduce en software (software ARM, de hecho) que luego se obtiene emulado en software en QEMU . Esto es muy lento. Están trabajando en este problema y lo han resuelto parcialmente, pero no con ningún tipo de calidad de lanzamiento.

Mira el video Google I / O 2011: Herramientas de desarrollo de Android para verlo en acción: salta a unos 44 minutos.

Peter Mortensen
fuente
¿Significa que si compramos la última Raspberry Pi con procesador ARM, podremos usar el emulador ARM de Android sin la lentitud de emular ARM en x86 / x86_64? ¿La última CPU y GPU Raspberry Pi es lo suficientemente buena como para tener un emulador rápido? ¿Google proporciona una versión ARM de las herramientas sdk de Android para usar un emulador ARM?
baptx
30

Utilice el acelerador de emulador Intel x86

Primero, instale el Acelerador de emulador Intel x86 (HAXM). Esto se puede descargar directamente de Intel o usando el SDK Manager de Android. En el SDK Manager, se encuentra en Extras.

Captura de pantalla del SDK Manager

En la versión de Android Studio que utilicé (0.8.9), Android SDK Manager descarga HAXM pero en realidad no ejecuta el instalador (supongo que esto se solucionará en versiones posteriores). Para ejecutar el instalador tuve que ir a C: \ Archivos de programa (x86) \ Android \ android-studio \ sdk \ extras \ intel \ Hardware_Accelerated_Execution_Manager e iniciar manualmente intelhaxm.exe.

HAXM funciona con dispositivos Intel, por lo que creó un nuevo emulador con CPU Intel.

Cree un nuevo AVD con Intel Atom x86

Esto mejoró considerablemente las cosas, pero el emulador todavía se sentía un poco lento. El último paso fue seleccionar Usar Host GPU en Android Virtual Device Manager (AVD).

Captura de pantalla de AVD Create Options

Después de estos cambios, Android Emulator se inició en 5-10 segundos y se ejecutó sin ningún retraso notable. Tenga en cuenta que estas características dependen del hardware (CPU / GPU) y pueden no funcionar en algunos sistemas.

Amin Rahkan
fuente
¡Usar Host GPU es la clave! gracias me preguntaba por qué en una máquina tenía un emu rápido y en otra no
Keoz
debe habilitar la virtualización en BIOS, si tenía un procesador AMD, entonces habilite Vt-x
Anu Martin
Tenga en cuenta que este HAXM solo es necesario (y está disponible) para Windows, no para Linux.
suther
28

Una nueva opción es la de Visual Studio emulador para Android --es rápido, Hyper-V , X 86, y para descargar incluso sin VS libre .

John Kemnetz
fuente
¿Es solo para Windows?
Robert
Sí, usa Hyper-V, que solo está en Windows.
John Kemnetz
Estoy de acuerdo con la afirmación: el mejor emulador del planeta. Soy testigo después de sufrir el uso de otros emuladores durante bastantes años. Es mucho mejor que otros, especialmente cuando se trata de depuración. Genymotion no es malo, pero requiere VirtualBox que entra en conflicto con Hyper-V. Esta respuesta debe ir a la cima.
Hong
2
@JohnKemnetz, ¿puedo agregar solo en Windows Professional o superior?
una tijereta el
28

Prueba Genymotion para Android Studio. ¡Rápido! Solo necesita una sola instalación. No más dolor AVD.

Vipul J
fuente
27

Para agregar más información a esto.

Recientemente actualicé mi instalación de Ubuntu a Ubuntu 10.04 LTS (Lucid Lynx), que a su vez actualizó mi versión de Java a:

Java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode)

Y ahora el emulador (aunque tarda un poco en iniciarse) parece estar ejecutándose más rápido que antes.

Puede valer la pena que las personas actualicen su JVM.

eggsy84
fuente
Java de 64 bits es más rápido (~ 2 veces) que Java de 32 bits en la misma máquina.
Mostowski Colapso
15
No puedo ver por qué la velocidad del emulador debería depender de la versión de Java. El emulador no está escrito en Java y no se ejecuta en la JVM.
Lena Schimmel el
Estoy usando Oracle Java 1.6.0_26 de 64 bits y mi emulador es más lento que una tortuga ... es doloroso. Core2Quad, 64 bits Java + Ubuntu 11.10, 8 GB de RAM.
djangofan
Si no está escrito en Java y no se ejecuta en la JVM, entonces ¿por qué requiere Java (y tampoco ninguna versión de Java!)
Rolf
25

Esto es lo que noté que nadie lo mencionó en absoluto.

Asigne todos los procesadores disponibles al emulador.

Esto es lo que puedes probar. Sí acelera el emulador, especialmente durante el tiempo de carga. Noté que el emulador solo está usando un solo núcleo de la CPU disponible. Lo configuré para usar todos los procesadores disponibles.

Estoy usando Windows 7.

Cuando se inicia el emulador de Android, abra el Administrador de tareas, busque en la pestaña Proceso, busque "emulator-arm.exe" o "emulator-arm.exe * 32" ... Haga clic derecho sobre él, seleccione Afinidad del procesador y asigne tanto procesador como desee al emulador.

Ingrese la descripción de la imagen aquí

Harvey Darvey
fuente
3
Esto aceleró bastante las cosas en mi máquina con Windows 7
Rocco The Taco
¿Cómo hacer eso en Windows 8?
Eng.Fouad
¿Supongo que podrías usar el administrador de tareas de Windows 8 para hacer lo mismo? Lo siento, no tengo Windows 8 en este momento.
Harvey Darvey
2
En Windows 10, y supongo que también en Windows 8, debe ir a la Detailspestaña en Task Managerpara hacer esto. Aunque en mi caso los 4 núcleos ya estaban seleccionados. Me gustaría que también permitieran que los dispositivos AMD ejecutaran las imágenes x86, incluso sin el controlador HAXM, deberían ser más rápidas que las imágenes ARM.
A.Grandt
20

Después de desarrollarse por un tiempo, mi emulador se volvió brutalmente lento. Elegí borrar datos de usuario , y fue mucho mucho mejor. Supongo que lleva tiempo cargar cada archivo APK que ha implementado.

Peter Mortensen
fuente
20

El emulador de Android está muy lento. Requiere 800 MB de memoria mientras se ejecuta. Si está en Windows, puede usar Microsoft Android Emulator. Es excelente, le proporciona funcionalidades más que Android Studio Emulator. Y lo más importante es que es rápido (solo consume 13 MB). Viene con Visual Studio 2015 Technical Preview. Lo estoy usando y estoy contento con eso. Descargué e instalé todo el paquete VS, necesito ver cómo podemos instalar VS Emulator únicamente.

Visual Studio Emulator para Android

EDITAR: Pruebe https://www.visualstudio.com/vs/msft-android-emulator/

Anil8753
fuente
como calculas amigo? Es un sistema operativo y necesita una gran cantidad de RAM para ejecutarse. y 13 Mb Es realmente estúpido por favor mira de nuevo.
MSS
@MSS No conozco el historial de antecedentes de VS Emulator, pero lo hice prácticamente y encontré lo que dije.
Anil8753
Tal vez cometió un error, me refiero a que es imposible emular un sistema operativo Android real en un RAM tan pequeño y el emulador VS debe ser un entorno de depuración simple para aplicaciones hechas en C # y probablemente no pueda ejecutar una aplicación estándar de Android.
MSS
Sí, no estoy seguro de que sea una verdadera emulación completa de Android o simplemente una emulación básica de características de Android. Por favor, déjalo intentar. Ejecute este emulador primero y luego implemente su aplicación de estudio de Android.
Anil8753
Estoy desarrollando una aplicación para Android con Android Studio y la estoy implementando de manera similar a otros dispositivos ADB. Solo inténtalo
Anil8753
20

Bueno, como alguien sugirió Android x86 como un emulador de prueba alternativo, también presentaré mi favorito. Puede que no sea una alternativa para todos, ¡pero para mí es perfecta!

Usa el Bluestacks Player . Ejecuta Android 2.3.4 y es muy fluido y rápido. A veces es incluso más rápido que un dispositivo normal. El único inconveniente es que puedes probar aplicaciones en el nivel 10 de API y solo en un tamaño de pantalla, pero es perfecto solo para probar si funciona o no. Simplemente conecte el reproductor con el adbejecutando

adb connect 127.0.0.1 

Después de compilar, se instala instantáneamente. Es muy impresionante, teniendo en cuenta que tengo un hardware de computadora bastante promedio (doble núcleo con 4 GB de RAM).

Ahmad
fuente
¡Es realmente muy rápido! ¿Cómo puedo modificarlo para requisitos como una tableta de 7 '(800x480)? Intenté cambiar el tamaño de la aplicación pero ya es una tableta.
nesimtunc
Creo que quisiste decir "fluido y rápido" :) De todos modos, gracias. Buen consejo, lástima que ejecute Android 2.2
Rolf
2
@Rolf Oh cierto, jaja :) Sin embargo, esta respuesta es antigua. Deberías revisar Genymotion. Es mucho mejor
Ahmad
19

Tuve tiempos de carga intermitentes de emulador lento (SDK v8.0), hasta tres minutos en la CPU Intel Core i7 920 2.67 GHz que se ejecuta en Xubuntu 10.04 VirtualBox 3.2.12 invitado con Eclipse (3.6.1) cargado. Cambié la memoria de invitado de VirtualBox de 1024 MB a 2048 MB y, a partir de ese momento, nunca volví a experimentar la lentitud (tiempos de carga constantes a 33 segundos, carga de CPU constante al 20%). Tanto Eclipse como el emulador son cerdos de memoria.

Stuart Rackham
fuente
16

Noté que mi emulador ( complemento Eclipse ) se ralentizó significativamente por la configuración de suavizado de mi tarjeta gráfica Nvidia . Eliminar 2x anti aliasing del menú de gráficos y cambiarlo a controlado por la aplicación lo hizo más receptivo. Todavía es lento, pero mejor de lo que solía ser.

Peter Mortensen
fuente
16

Para reducir el tiempo de inicio del emulador, debe marcar "Deshabilitar la animación de arranque" antes de iniciar el emulador. Consulte la documentación de Android .

Si no lo sabe, no necesita cerrar el emulador cada vez que ejecute / depure su aplicación. Si hace clic en ejecutar / depurar cuando ya está abierto, su archivo APK se cargará en el emulador y comenzará casi de inmediato. El emulador tarda mucho tiempo solo cuando se inició por primera vez.

Aquí hay algunos consejos para acelerar el emulador de Android: Cómo acelerar el emulador de Android hasta en un 400% .

Vinayak B
fuente
15

Una buena forma de acelerar el emulador de Android y las pruebas de aplicaciones es instalar o actualizar su Android Studio a la versión Android Studio 2.0 y luego vaya a Configuración / Preferencias de la aplicación abierta, vaya a Construir, Ejecución, Implementación → Ejecución instantánea. Haga clic en Habilitar ejecución instantánea. Y después de eso, esto garantizará que tenga el complemento gradle correcto para que su proyecto funcione con Instant Run. ingrese la descripción de la imagen aquí

Y la ejecución instantánea se verá así Nuevas acciones de ejecución y detención en Android Studio para ejecución instantánea

Sin embargo, Android Studio está ahora en Vista previa, puedes probarlo ahora.

Umar
fuente
1
Android Studio 2.0 es estable ahora. La ejecución instantánea aumenta las velocidades de compilación, no la velocidad del emulador, consulte para obtener más información: < android-developers.blogspot.lt/2016/04/android-studio-2-0.html >
Arūnas Bedžinskas
El nuevo emulador funciona ~ 3 veces más rápido que el emulador anterior de Android. y ahora puede enviar aplicaciones y datos 10 veces más rápido al emulador que a un dispositivo físico. android-developers.blogspot.ae
Umer
1
Tenga en cuenta que cuando utiliza Instant Run, hay algunos problemas al instalar en dispositivos <5.0. Si ve que su aplicación se bloquea en dispositivos de kitkat y versiones posteriores, desactive la ejecución instantánea y vuelva a compilarla. Deberías estar listo para ir ..
Vamsi Challa