Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Google APIs vs Google Play vs Intel x86 vs Android TV vs Wear OS Intel x86 system image differences

I have recently started exploring Xamarin.Android with Visual Studio 2017. On Android SKD Manager window I can see different Android versions and under each version there are multiple android system images. Following the screen shot shows Android 9.0 with all available system images:

enter image description here

I am wondering which system image should I download as I am unaware about the differences. Can anyone please help me out or refer some link which contain details of each image? Thanks!

like image 757
Gaurav Avatar asked Dec 19 '18 09:12

Gaurav


1 Answers

Android phone and tablets are covered by the "System Image", "Google API Image" and "Google Play Image" and not the Wear or TV OS images.

The Android phone/tablet image that you choice is about what your app needs to be tested with.

System Image:

This image only includes the basic/ASOP release of a specific API level. It is the most basic version. i.e. The browser included is just a thin UI shell around the WebView widget.

Google API Image:

Google APIs includes access to Google Play services.

You have development access to the Play services. As an example, you can test your apps against a NON-Google Play Store device, but if your app shares messages with Facebook, Twitter, etc... those apps will not be available as there is no Google Play Store on the device so you could not install them (I'll skip the side-loading option...)

But you do have access to Google services so things like "AdMob Lite" can be tested (the AdMob full version could be included in your app and thus tested on the basic System Image, but that would inflate your final APK size).

Google Play Image:

Google Play in the Play Store column includes the Google Play Store app and access to Google Play services

Now your emulator has access to the Play Store so other 3rd-party apps can be installed and your app can interact with them. So if you want to edit an Microsoft Word file that your app provides, your app can test to see if Word if installed, prompt the user to install it if needed, and share your .doc file to Word. Maybe your app is an image editor and you want other apps to share their images with you app, that can now be to be tested on an emulator vs. only on a physical device.

The Google Play images are the closest experience you can get to an OEM/vendor released device but in an emulator.

Note: As to whether you choice the x86 or the x86_64 version of the image, it is up to you. Personally I use the x86_64 versions since they are faster on my system. But if you are installing 3rd-party apps, not everyone supports x86_64 (nor x86 for that matter) if they are using native shared libraries within their app.

Android TV image:

These images are just for emulation of TV devices.

  • https://developer.android.com/tv/

Wear OS image:

These images are just for smartwatch emulation.

  • https://developer.android.com/wear/
like image 119
SushiHangover Avatar answered Sep 23 '22 16:09

SushiHangover