¿Cómo puedo ejecutar el emulador de Android para Intel x86 Atom sin aceleración de hardware en Windows 8 para API 21 y 19?

81

No he habilitado Hyper V ni la aceleración de hardware y tampoco quiero.

¿Hay alguna forma de que pueda iniciar el emulador de Android para Intel x86 Atom sin aceleración de hardware en Windows 8?

He creado AVD con todas las combinaciones posibles y cada uno no ha podido iniciar la instancia del emulador AVD, arrojando el mismo error al iniciar

emulador: ERROR: la emulación x86 requiere actualmente aceleración de hardware. Asegúrese de que Intel HAXM esté correctamente instalado y sea utilizable. Estado de aceleración de la CPU: ¡el módulo de kernel HAX no está instalado!

O es que, las imágenes proporcionadas para Intel Atom 86 y 64 no pueden ejecutarse sin ACELERACIÓN DE HARDWARE Y Hyper V para API 21 y 19

Encontré muchas preguntas similares y leí casi toda la documentación, pero no está claro si pueden o no pueden ejecutarse sin Hyper V y aceleración de hardware, de ahí esta pregunta directa

¿Cómo se prueba en Android en tales casos?

codificador
fuente
3
"No he habilitado Hyper V o aceleración de hardware y tampoco quiero" ¿Por qué no? (Particularmente con respecto a "... y no quiero") ¿Si pudiera hacer que algo funcionara que claramente necesita trabajar? En 2014, ¿cuándo casi todas las CPU tienen la virtualización incorporada?
TJ Crowder
6
Gracias Tj. Aprecio su respuesta y su tiempo, ya que creo por igual en la mejora del rendimiento y en la eficiencia. Que se puede conseguir, pero la pregunta original sigue en pie, ¿podemos o no ejecutarlos sin acelerador de hardware?
dcoder
Es de suponer que existen métodos que pueden hacerlo de una manera puramente de software, sin embargo, el mensaje de error sugeriría que el motor de emulación que está utilizando actualmente no puede hacerlo sin la asistencia del hardware.
Chris Stratton
6
Recuerde, muchos de nosotros no podemos ejecutar HAXM. Usuarios de AMD específicamente.
A.Grandt
1
Para los usuarios de AMD, esto se discute en la pregunta equivalente HAXM de Intel para AMD en el sistema operativo Windows y el consenso general es usar el emulador Genymotion en su lugar.
Simon East

Respuestas:

139

En el administrador AVD actual no puede. Solo tiene la oportunidad de usar imágenes ARM que no necesitarán virtualización de hardware.

Para ejecutar imágenes ARM:

  1. Abra el administrador de AVD.
  2. Cree un nuevo 'Dispositivo virtual' O haga clic con el botón derecho en una imagen existente y seleccione 'Duplicar'
  3. Elija arm * en lugar de x86 / x64.
  4. Continúe con el asistente.
  5. ¡Correr!

Aunque esta es la solución disponible, ¡pero sigue siendo lenta!

Eslam Sameh Ahmed
fuente
15
Esta debería ser la respuesta elegida.
user3041539
1
muy lento, pero la forma permite ejecutar el emulador de Android sin aceleración de hardware.
constructor
1
Justo después de seleccionar el tamaño del dispositivo, tendrá la opción de seleccionar la imagen del sistema donde algunos de ellos están marcados como armeabi-v7a en la columna de ABI
Eslam Sameh Ahmed
3
Esta no es una opción aquí.
Eslam Sameh Ahmed
3
@HappyCoder "3. Elegir brazo * ... significa elegir el que comienza con 'brazo'
Tormuto
32

Aún puede forzar el uso del emulador suave x86 ejecutándolo desde la línea de comando y usando la opción -no-accel, es decir, desde el directorio SDK / tools:

emulator -avd AVD_NAME -memory 768 -no-accel -gpu on

PERO esto todavía no funcionará con el SDK actual (V24), porque las imágenes actuales del sistema x86 bloquean el emulador suave x86 :-(

La única forma en que logré que esto funcionara nuevamente fue degradar las herramientas del SDK a V22.3 desde aquí: http://dl-ssl.google.com/android/repository/tools_r22.3-windows.zip y crear un AVD usando una imagen de sistema degradada, por ejemplo https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-17_r02.zip . (Por lo tanto, esto no ayuda si necesita probar en versiones más recientes de Android).

Google ha pasado a una versión actualizada de su emulador basada en una versión más reciente de qemu, y proporciona binarios para emuladores arm y mips, pero ha omitido enviar el equivalente x86 (no hay emulator-ranchu-x86.exe y emulator64 -ranchu-x86.exe). Si lo hicieron, o si alguien más se tomó la molestia de configurar y compilar su fuente de emulador con el indicador "x86" activado, entonces la emulación suave _x86 posiblemente podría volver a funcionar.

Graeme Gill
fuente
3
ESTA debería ser la respuesta aceptada. Todas las demás respuestas explican cómo correr con aceleración, no sin ella
Jamby
Esto hizo que mi emulador se ejecutara en una caja virtual. Lento pero corriendo, ¡sí!
Jankapunkt
@Graeme Después de descargar las herramientas SDK V22.3 en una carpeta separada para probar y ejecutar el emulador con la -no-accelopción, la línea de comando dice unknown option: -no-accel. ¿Esta opción realmente funcionó en el pasado? ¿Es correcta la versión de la herramienta SDK indicada? ¿O Google 'actualizó' el paquete V22.3 para que ya no funcione?
MrCC
Esto realmente funciona. Es lento (como se esperaba) pero funciona.
Egor Pavlikhin
8

Respuesta corta: No. Hasta hace poco (hace aproximadamente 1 mes), podía hacer eso, pero con las últimas actualizaciones, no es posible. (consulte Actualización a las herramientas del SDK de Android 23.0.5 y avd no se inicia ).

Estaba haciendo algo similar: desarrollo en una máquina virtual y, por lo tanto, no podía usar las funciones de aceleración de hardware, ya que solo están disponibles en la máquina host. Estaba usando imágenes Intel x86 con la opción Use Host GPU ; ya que eran mucho más rápidos que la versión ARM incluso sin aceleración de hardware. Pero luego, después de esta actualización, los AVD de mi emulador que estaban funcionando antes ya no comienzan con el mismo mensaje de error exacto. Además, los emuladores de Android genymotion y Xamarin no se pueden usar, ya que también necesitan aceleración de hardware (en realidad, son máquinas virtuales que usan la aceleración de hardware para la velocidad y, por lo tanto, no se pueden ejecutar dentro de otra máquina virtual).

Encontré esta solución pero aún no la he probado. La idea básica es que seguir desarrollándose dentro de una máquina virtual; pero para probar, conéctese a un emulador que se ejecuta en la máquina host (y esta máquina virtual emuladora ahora puede usar la función de aceleración de hardware).

Ankur
fuente
Gracias, pensé lo mismo, ahora estoy ejecutando avds con HA
dcoder
8

Mismo problema que en Error al iniciar AVD :

1) Instale Intel x86 Emulator Accelerator (instalador HAXM) desde Android SDK Manager;

ingrese la descripción de la imagen aquí

2) Ejecutar (para Windows):

{SDK_FOLDER}\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm.exe

o (para OSX):

{SDK_FOLDER}\extras\intel\Hardware_Accelerated_Execution_Manager\IntelHAXM_1.1.1_for_10_9_and_above.dmg

3) Inicie el emulador.

Daniel
fuente
7
IntelHAXM se usa para configurar una emulación basada en hardware que no está disponible para el póster original
Tom Cerul
Esto no resuelve la pregunta de OP, pero seguro que me ayudó a descubrir por qué no podía ejecutar una imagen x86, incluso después de instalar HAXM. ¡Gracias!
Raj
Bueno, la pregunta pregunta claramente si el emulador de Android para Intel x86 Atom funciona sin lo que ha publicado aquí. es decir, HAXM habilitado? ¿Cómo puede esta publicación resolver el problema que ha preguntado @dcoder?
Siva Senthil
¿Alguna forma de lograr esto con linux (ubuntu), usando solo la terminal?
Vini.g.fer
3

¿Hay alguna forma de que pueda iniciar el emulador de Android para intel x86 atom sin aceleración de hardware en Windows 8?

No con el emulador estándar de Android SDK, ya que requiere HAXM de Intel, y HAXM quiere que las extensiones de virtualización estén habilitadas.

No puedo decir si Genymotion o algo más de otro desarrollador independiente puede respaldar la combinación deseada.

CommonsWare
fuente
Thx cw, si es así, déjame probar Genymotion y responderte, Thx de nuevo
dcoder
@dcoder ¿Podrías hacer que Genymotion funcione? Porque también tengo problemas con AVD y HAXM. Mi otra opción es Genymotion. Así que me gustaría saber si te funcionó o no.
eluleci
El punto es que solía funcionar en la versión anterior del SDK usando emulación x86 suave. Entonces, la pregunta es a) cómo volver a habilitar la emulación x86 suave, ob) cómo degradar el SDK hasta el punto en que esto funcione nuevamente.
Graeme Gill
@GraemeGill: "solía funcionar en la versión anterior del SDK usando una emulación suave x86" - por lo que recuerdo, las imágenes del emulador x86 siempre requerían HAXM. Sin duda, HAXM se requiere desde finales de 2012. Si tiene pruebas de lo contrario, proporcione los enlaces.
CommonsWare
@CommonsWare: Vea mi respuesta a continuación para ver las versiones del sistema que tenían un emulador x86 suave que funcionaba.
Graeme Gill
3

El uso de la aceleración de hardware depende de la imagen del sistema que elija en el emulador.

Entonces,

  1. Vaya al administrador de AVD, cree un dispositivo virtual, seleccione el hardware, haga clic en siguiente.

  2. Elija la imagen del sistema que no requiera HAXM (aceleración de hardware) para su ejecución. (Aparece en la parte inferior derecha de la ventana de imagen del sistema).

Nota: para otros sistemas que requieren HAXM, no hay forma de ejecutarlos sin aceleración de hardware.

Mina Samir
fuente
3

use bluestacks como emulador para obtener el mejor rendimiento. blusestack funciona rápido sin emulación basada en hardware

Para conectar bluestack a android studio.

  • Cierre Android Studio.
  • Vaya a la ubicación de adb.exe. (Por defecto es C: \ Users \ Tarun \ AppData \ Local \ Android \ sdk \ platform-tools)
  • Corre adb connect localhost:5555desde esta ubicación.
  • Inicie Android Studio y obtendrá Blue Stack como emulador cuando ejecute su aplicación.
Gopi Raj
fuente
No se puede asignar la dirección solicitada
Elia Weiss
1

Me encontré con el mismo problema, encontré la solución en http://developer.android.com/tools/devices/emulator.html#vm-windows

Simplemente siga estos sencillos pasos:

  1. Inicie Android SDK Manager, seleccione Extras y luego seleccione Intel Hardware Accelerated Execution Manager.

  2. Una vez completada la descarga, ejecute [sdk] /extras/intel/Hardware_Accelerated_Execution_Manager/IntelHAXM.exe

  3. Siga las instrucciones en pantalla para completar la instalación.

Vicenç
fuente
29
Esto no responde a la pregunta "¿Podemos ejecutarlo sin aceleración de hardware?"
Pacerier
13
¡Ésta no es la respuesta! ¿Has leído siquiera la pregunta? ¿Y quiénes son ellos votaron a favor de esta respuesta?
Morteza
Responde a instalar Intel Hardware Accelerated Execution Manager que esta pregunta no quiere
Rajeev Kumar
Esta no es una solución si HAXM no funciona en su procesador host x86 porque carece de las últimas funciones de visualización.
Graeme Gill
1

consulte los requisitos de intel.com: Importante: Intel HAXM no se puede utilizar en sistemas sin un procesador Intel o con un procesador Intel que carece de las características de hardware descritas en la sección "Requisitos de hardware" anterior. Para determinar las capacidades de su procesador Intel

[Instrucciones de instalación para Intel® Hardware Accelerated Execution Manager] https://software.intel.com/en-us/android/articles/installation-instructions-for-intel-hardware-accelerated-execution-manager-mac-os-x

Mi PC no es compatible con vt-x, no puedo usar Android Studio 1.0.2.

OpenCode
fuente
1
Todavía puede usar Android Studio, pero use la imagen "arm" no "x86" al crear un nuevo dispositivo virtual en AVD Manager
robson
Usar la emulación de brazo no le ayuda a probar el código nativo x86.
Graeme Gill
1

Sí, es posible ejecutar su emulador de Android sin tener un acelerador de hardware. De hecho, para hacer eso, necesita abrir su dispositivo virtual Android. Cuando llegó a la configuración de la imagen del sistema, le sugiere qué versión de la imagen de Android desea usar. Cualquiera que sea la versión de la imagen del sistema Android que seleccione, debe asegurarse de que ABI sea armeabi-v7a y su objetivo sea la imagen del sistema ameabi-v7a con las API de Google. Y luego completa el resto de la tarea y revisa tu emulador.

ludovic
fuente
Esto no es lo que preguntaba.
Rory McCrossan
1
Ejecutar armabi no ayuda a depurar errores específicos de x86.
Graeme Gill
0

Tengo una pc con intel c2d sin aceleración de hardware. Tengo el mismo problema en Android Studio. En primer lugar, me aburro con Android Studio e instalé eclipse + sdk + adt, luego instalé todo y comencé el emulador, funcionó, luego el mismo emulador funcionó en Android Studio para la aplicación de lanzamiento directo en Android Studio y también ejecuté la aplicación de muestra que emulador para que pueda ejecutar Android Studio sin técnica de virtualización, incluso su procesador no es compatible con vt-x

usuario3309272
fuente
0

Necesita un "procesador compatible con VT-x" al menos para ejecutar el emulador de Android con aceleración de hardware.

Si ha habilitado o instalado "Hyper-V" en su Windows 8, elimínelo, deshabilite el "Hyper-Threading" y habilite la "Virtualización".

Compañero de Muzammil
fuente
¿Por qué no recurre automáticamente a la emulación x86 suave cuando la virtualización no está disponible? El SDK solía ser capaz de hacer esto.
Graeme Gill
0

Cuando se ejecuta 'aplicación' (triángulo verde): En el Selector de dispositivo, seleccione Iniciar emulador y haga clic en el botón [...] Derecha, haga clic en Nexus (u otro), haga clic en Duplicar En el sistema operativo (ejemplo de Android 6.0), haga clic en cambiar: Haga clic en Mostrar imágenes del sistema descargables. Busque el sistema operativo armeabi-v7a y haga clic en descargar. Configure este SO en el dispositivo. Termine y elija este dispositivo para la emulación.

FelipeR
fuente