Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between Google APIs (x86 System Image) and Google APIs (ARM System Image) in Android 4.4.2

Tags:

android

I was following this (http://developer.android.com/google/play-services/setup.html#Install). It asked me to install Google APIs for Android API 17 (or higher) but when i opened SDK Manager, this is how it looked like:

SDK Manager

So, my question is: What are these two Google APIs? And, what is the difference between these two?

like image 726
Amna Ali Avatar asked May 01 '14 20:05

Amna Ali


People also ask

What is x86 system image in Android?

A system image is used to create different Android Virtual Devices (AVDs) and emulate the different Android devices in common use. As developer workstations are usually Intel x86 based, the ARM instruction set had to be emulated as well.

What is an x86 image?

The x86 Android* emulator system image enables you to run an emulation of Android on your development machine. In combination with the Android SDK, you can test your Android applications on a virtual Android device based on Intel Architecture.


1 Answers

In the beginning the only Android system images available ran on the ARM instruction set. A system image is used to create different Android Virtual Devices (AVDs) and emulate the different Android devices in common use.

As developer workstations are usually Intel x86 based, the ARM instruction set had to be emulated as well. This resulted in poor performance from the AVDs due mainly to the amount of translation the x86 processor was doing to also emulate the ARM instruction set.

At Android 4.0.3 (API 15) Intel provided their own x86 based Android system image. This could then be used to create AVDs that did not need to do ARM translation. Combined with the Intel Hardware Accelerated Execution Manager (HAXM) the x86 AVMs were up to 10 times faster than the equivalent ARM emulators.

Support for Google specific Android APIs like the Android Google maps API, are not provided with the standard Android system images. They need to be installed separately using the Android SDK Manager. To use these APIs with an x86 system image you need to also install the Google APIs (x86 System Image) for the same API level.

like image 57
oenpelli Avatar answered Sep 30 '22 02:09

oenpelli