74

I'm developing android with SDK 2.3.3 using Eclipse IDE. As you all know to run my app, I should generate virtual device. From 'create new AVD' window, I can see many targets. There are 2 targets for API level 10 such as 'android 2.3.3' and Google APIs(Google Inc). Among those targets, I'm uncertain which one I should choose.

My question is what's the difference between them.

Thanks in advance Dan

Tash Pemhiwa
  • 7,590
  • 4
  • 45
  • 49
allbory
  • 743
  • 1
  • 5
  • 5

1 Answers1

144

The Google API includes Google Maps and other Google-specific libraries. The Android one only includes core Android libraries.

As for which one to choose, I would go with the Android API until you find that you need the Google API; such as when you need Google Maps functionality.

Here is a link to the Google API page.

Qantas 94 Heavy
  • 15,750
  • 31
  • 68
  • 83
Zack Marrapese
  • 12,072
  • 9
  • 51
  • 69
  • 2
    @Zack: So does that mean all the functionality of Android is also included in the corresponding Google API ? – MD Sayem Ahmed Jul 18 '11 at 18:23
  • 1
    From a developer's perspective, yes. The Google API version adds the functionality on top of the regular Android OS. – Zack Marrapese Jul 19 '11 at 02:27
  • 2
    @Zach Do you know if the actual Android phones and tablets come with Google API installed? – Artyom Feb 08 '12 at 10:21
  • 5
    @Artyom: While a device isn't technically required to include the libraries that make up Google's API, it's a de facto standard. I've yet to come across a device which doesn't include them. – Zack Marrapese Feb 08 '12 at 13:06
  • 2
    Also from what I've seen, 'Google APIs' target also has ApiDemos package installed as well – anshumans Mar 14 '13 at 10:07
  • That's strange because when I pick Target with Google APIs, I get `No system images installed for this target` in CPU/ABI dropdown. But if I pick generic Android 7.0 target, I can pick various Google APIs items in the CPU/ABI dropdown, and when I create a AVD with one of them, Google Maps is present and working. So, I'm confused what's the difference between picking Google APIs in Target vs in CPU/ABI. – JustAMartin Sep 19 '16 at 12:40
  • Oh, I just found out why. See this bug report: https://code.google.com/p/android/issues/detail?id=210223 It seems, that since some specific SDK version you aren't supposed to select Google APIs as the Target but you should select it as CPU/ABI instead. – JustAMartin Sep 19 '16 at 12:46