Diferencia entre las API de Google (imagen del sistema x86) y las API de Google (imagen del sistema ARM) en Android 4.4.2

93

Estaba siguiendo esto ( http://developer.android.com/google/play-services/setup.html#Install ). Me pidió que instalara las API de Google para la API de Android 17 (o superior), pero cuando abrí SDK Manager, así es como se veía:

Administrador de SDK

Entonces, mi pregunta es: ¿Cuáles son estas dos API de Google? ¿Y cuál es la diferencia entre estos dos?

Amna Ali
fuente
1
IIRC, son para diferentes procesadores.
Mike D
14
La imagen ARM se asemeja más a la mayoría de los dispositivos Android, pero requiere que se emule el procesador y, por lo tanto, es muy lenta. El x86 es potencialmente bastante más rápido, posiblemente utilizando mecanismos de soporte de máquinas virtuales para ejecutar el código de una manera parcialmente nativa. Puede probar el x86 para mayor velocidad y recurrir al ARM si tiene problemas de compatibilidad. Ver developer.android.com/tools/devices/emulator.html
Chris Stratton

Respuestas:

127

Al principio, las únicas imágenes del sistema Android disponibles se ejecutaban en el conjunto de instrucciones ARM. Una imagen del sistema se utiliza para crear diferentes dispositivos virtuales Android (AVD) y emular los diferentes dispositivos Android de uso común.

Como las estaciones de trabajo para desarrolladores suelen estar basadas en Intel x86, también se tuvo que emular el conjunto de instrucciones ARM. Esto resultó en un rendimiento deficiente de los AVD debido principalmente a la cantidad de traducción que el procesador x86 estaba haciendo para emular también el conjunto de instrucciones ARM.

En Android 4.0.3 (API 15), Intel proporcionó su propia imagen de sistema Android basada en x86. Esto podría usarse para crear AVD que no necesitaran hacer una traducción ARM. En combinación con Intel Hardware Accelerated Execution Manager (HAXM), los AVM x86 eran hasta 10 veces más rápidos que los emuladores ARM equivalentes.

La compatibilidad con las API de Android específicas de Google, como la API de mapas de Google de Android, no se proporciona con las imágenes estándar del sistema Android. Deben instalarse por separado usando el Android SDK Manager. Para utilizar estas API con una imagen del sistema x86, también debe instalar las API de Google (imagen del sistema x86) para el mismo nivel de API.

Oenpelli
fuente
4
Entonces, ¿cuál elijo cuando hago clic derecho en mi proyecto, voy a propiedades y voy a Android?
Andrew
5
Haga clic en ambos: (1) Imagen del sistema Intel x86 Atom y (2) API de Google (Imagen del sistema x86) Consulte aquí para obtener más detalles: software.intel.com/en-us/blogs/2014/03/06/…
user64141
2
@oenpelli, ¿a qué se refiere "API" en "API de Google"? Cuando seleccionamos instalar "API de Google", ¿qué sucede realmente? ¿Simplemente descarga las bibliotecas Java de Android utilizadas por Google o hay otro código del sistema involucrado?
Pacerier
1
@Pacerier con "API de Google" puede configurar una cuenta de Google dentro del emulador, que no está disponible en la imagen pura de Android. La API de Google Maps también se agregó en caso de que su aplicación la necesite.
artkoshelev
5
¿Cuál es la diferencia entre la imagen de la API de Google y la imagen de Google Play?
Banee Ishaque K