Różnica między interfejsami API Google (obraz systemu x86) i interfejsami API Google (obraz systemu ARM) w systemie Android 4.4.2

94

Śledziłem to ( http://developer.android.com/google/play-services/setup.html#Install ). Poprosił mnie o zainstalowanie interfejsów API Google dla Android API 17 (lub nowszego), ale kiedy otworzyłem Menedżera SDK, wyglądało to tak:

Menedżer SDK

Moje pytanie brzmi: co to są te dwa interfejsy API Google? Jaka jest różnica między tymi dwoma?

Amna Ali
źródło
1
IIRC, są przeznaczone dla różnych procesorów.
Mike D
14
Obraz ARM bardziej pasuje do większości urządzeń z Androidem, ale wymaga emulacji procesora i dlatego jest bardzo wolny. Procesor x86 jest potencjalnie nieco szybszy, prawdopodobnie wykorzystując mechanizmy obsługi maszyn wirtualnych do wykonywania kodu w częściowo natywny sposób. Możesz wypróbować x86 pod kątem szybkości i wrócić do ARM, jeśli masz problemy ze zgodnością. Zobacz developer.android.com/tools/devices/emulator.html
Chris Stratton,

Odpowiedzi:

128

Na początku jedyne dostępne obrazy systemu Android działały na zestawie instrukcji ARM. Obraz systemu służy do tworzenia różnych urządzeń wirtualnych z systemem Android (AVD) i emulacji różnych powszechnie używanych urządzeń z systemem Android.

Ponieważ stacje robocze programistów są zwykle oparte na procesorach Intel x86, zestaw instrukcji ARM również musiał być emulowany. Spowodowało to słabą wydajność AVD głównie ze względu na ilość tłumaczeń, które procesor x86 wykonywał, aby również emulować zestaw instrukcji ARM.

W systemie Android 4.0.3 (API 15) Intel dostarczył własny obraz systemu Android oparty na architekturze x86. Można to następnie wykorzystać do tworzenia AVD, które nie wymagają tłumaczenia ARM. W połączeniu z Intel Hardware Accelerated Execution Manager (HAXM), procesory x86 AVM były do ​​10 razy szybsze niż równoważne emulatory ARM.

Standardowe obrazy systemu Android nie obsługują specyficznych dla Google interfejsów API systemu Android, takich jak Android Google Maps API. Należy je zainstalować osobno za pomocą Menedżera Android SDK. Aby używać tych interfejsów API z obrazem systemu x86, musisz również zainstalować interfejsy API Google (obraz systemu x86) dla tego samego poziomu interfejsu API.

oenpelli
źródło
4
Więc co mam wybrać, gdy kliknę prawym przyciskiem myszy mój projekt, przejdę do właściwości i przejdę do Androida?
Andrew,
5
Kliknij obie te opcje: (1) obraz systemu Intel x86 Atom i (2) interfejsy API Google (obraz systemu x86) Więcej informacji można znaleźć tutaj: software.intel.com/en-us/blogs/2014/03/06/…
user64141
2
@oenpelli, do czego odnosi się „API” w „Google API”? Co się właściwie dzieje, kiedy zdecydujemy się zainstalować „interfejsy API Google”? Czy pobiera tylko biblioteki Java na Androida używane przez Google, czy też jest zaangażowany inny kod systemowy?
Pacerier
1
@Pacerier z "API Google" możesz założyć konto Google w emulatorze, które nie jest dostępne w czystym obrazie Androida. Dodano również interfejs API Map Google na wypadek, gdyby aplikacja go potrzebowała.
artkoshelev,
5
Jaka jest różnica między obrazem Google API a obrazem Google Play?
Banee Ishaque K