Différence entre les API Google (image système x86) et les API Google (image système ARM) sous Android 4.4.2

93

Je suivais ceci ( http://developer.android.com/google/play-services/setup.html#Install ). Il m'a demandé d'installer les API Google pour l'API Android 17 (ou version ultérieure), mais lorsque j'ai ouvert SDK Manager, voici à quoi cela ressemblait:

Gestionnaire SDK

Ma question est donc la suivante: quelles sont ces deux API Google? Et quelle est la différence entre ces deux?

Amna Ali
la source
1
IIRC, ils sont pour différents processeurs.
Mike D
14
L'image ARM correspond plus étroitement à la plupart des appareils Android, mais nécessite l'émulation du processeur et est donc très lente. Le x86 est potentiellement un peu plus rapide, utilisant éventuellement des mécanismes de support de machine virtuelle pour exécuter le code de manière partiellement native. Vous pouvez essayer le x86 pour la vitesse et revenir à l'ARM si vous avez des problèmes de compatibilité. Voir developer.android.com/tools/devices/emulator.html
Chris Stratton

Réponses:

127

Au début, les seules images système Android disponibles fonctionnaient sur le jeu d'instructions ARM. Une image système est utilisée pour créer différents appareils virtuels Android (AVD) et émuler les différents appareils Android couramment utilisés.

Comme les postes de travail des développeurs sont généralement basés sur Intel x86, le jeu d'instructions ARM devait également être émulé. Cela a entraîné de mauvaises performances des AVD en raison principalement de la quantité de traduction que le processeur x86 effectuait pour émuler également le jeu d'instructions ARM.

Sur Android 4.0.3 (API 15), Intel a fourni sa propre image système Android basée sur x86. Cela pourrait ensuite être utilisé pour créer des AVD qui n'ont pas besoin de faire de traduction ARM. Combinés avec Intel Hardware Accelerated Execution Manager (HAXM), les AVM x86 étaient jusqu'à 10 fois plus rapides que les émulateurs ARM équivalents.

La prise en charge des API Android spécifiques à Google, telles que l'API Google Maps Android, n'est pas fournie avec les images système Android standard. Ils doivent être installés séparément à l'aide du gestionnaire de SDK Android. Pour utiliser ces API avec une image système x86, vous devez également installer les API Google (image système x86) pour le même niveau d'API.

oenpelli
la source
4
Alors, que dois-je choisir lorsque je clique avec le bouton droit de la souris sur mon projet, que je vais dans les propriétés et que je vais sur Android?
Andrew le
5
Cliquez sur les deux: (1) Image système Intel x86 Atom et (2) API Google (Image système x86) Pour plus de détails, voir ici: software.intel.com/en-us/blogs/2014/03/06/…
user64141
2
@oenpelli, À quoi fait référence "API" dans "API Google"? Lorsque nous choisissons d'installer des "API Google", que se passe-t-il réellement? Télécharge-t-il simplement les bibliothèques Java Android utilisées par Google ou y a-t-il un autre code système impliqué?
Pacerier
1
@Pacerier avec "API Google", vous pouvez configurer un compte Google dans l'émulateur, qui n'est pas disponible en image Android pure. L'API Google Maps a également été ajoutée au cas où votre application en aurait besoin.
artkoshelev
5
Quelle est la différence entre une image google api et une image google play?
Banee Ishaque K