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

Android

Android Problem Overview


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?

Android Solutions


Solution 1 - Android

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.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAmna AliView Question on Stackoverflow
Solution 1 - AndroidoenpelliView Answer on Stackoverflow