Differenza tra le API di Google (immagine di sistema x86) e le API di Google (immagine di sistema ARM) in Android 4.4.2


93

Stavo seguendo questo ( http://developer.android.com/google/play-services/setup.html#Install ). Mi ha chiesto di installare le API di Google per Android API 17 (o successive) ma quando ho aperto SDK Manager, ecco come appariva:

SDK Manager

Quindi, la mia domanda è: cosa sono queste due API di Google? E qual è la differenza tra questi due?


1
IIRC, sono per processori diversi.
Mike D

14
L'immagine ARM corrisponde maggiormente alla maggior parte dei dispositivi Android, ma richiede l'emulazione del processore ed è quindi molto lenta. L'x86 è potenzialmente un po 'più veloce, possibilmente utilizzando meccanismi di supporto della macchina virtuale per eseguire il codice in modo parzialmente nativo. Puoi provare l'x86 per la velocità e il fallback su ARM se hai problemi di compatibilità. Vedi developer.android.com/tools/devices/emulator.html
Chris Stratton

Risposte:


127

All'inizio le uniche immagini di sistema Android disponibili giravano sul set di istruzioni ARM. Un'immagine di sistema viene utilizzata per creare diversi dispositivi virtuali Android (AVD) ed emulare i diversi dispositivi Android di uso comune.

Poiché le workstation per sviluppatori sono generalmente basate su Intel x86, è stato necessario emulare anche il set di istruzioni ARM. Ciò ha comportato scarse prestazioni degli AVD a causa principalmente della quantità di traduzione che il processore x86 stava facendo per emulare anche il set di istruzioni ARM.

In Android 4.0.3 (API 15) Intel ha fornito la propria immagine di sistema Android basata su x86. Questo potrebbe quindi essere utilizzato per creare AVD che non necessitano di traduzione ARM. In combinazione con Intel Hardware Accelerated Execution Manager (HAXM), gli AVM x86 erano fino a 10 volte più veloci degli emulatori ARM equivalenti.

Il supporto per API Android specifiche di Google come l'API Google Maps per Android, non viene fornito con le immagini del sistema Android standard. Devono essere installati separatamente utilizzando Android SDK Manager. Per utilizzare queste API con un'immagine di sistema x86 è necessario installare anche le API di Google (immagine di sistema x86) per lo stesso livello di API.


4
Quindi quale scelgo quando faccio clic con il pulsante destro del mouse sul mio progetto, vado su proprietà e vado su Android?
Andrew

5
Fare clic su entrambi: (1) Immagine del sistema Atom Intel x86 e (2) API di Google (immagine del sistema x86) Vedere qui per maggiori dettagli: software.intel.com/en-us/blogs/2014/03/06/…
user64141

2
@oenpelli, a cosa si riferisce "API" in "API di Google"? Quando scegliamo di installare "API di Google", cosa succede effettivamente? Scarica solo le librerie Java Android utilizzate da Google o sono coinvolti altri codici di sistema?
Pacerier

1
@Pacerier con "API di Google" puoi impostare un account Google all'interno dell'emulatore, che non è disponibile nella pura immagine Android. Aggiunta anche l'API di Google Maps nel caso in cui la tua app ne abbia bisogno.
artkoshelev

5
qual è la differenza tra l'immagine di Google API e l'immagine di Google Play?
Banee Ishaque K
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.