Anytime I select a target for Google APIs it tells me there are no system images available. I have completely removed and reinstalled every available option in SDK manager. For the API Level I am trying to use, I have every available image installed. Also I have tried copying the images out of the default folder as suggested by another question's answer and restarting visual studio.
AVD Manager
SDK Manager
Solved the issue by selecting a standard api lvel target (non google apis) and then for CPU select one that included google apis. Was following this tutorial on Xamarin that told me to select the target with google apis, but apparently that does not work properly.
Google's Android SDK Installer (that Xamarin runs during the base install), does not install system images for each API due to their size (1+GB each).
Open the Android SDK Manager and select/install which versions you want, they are available by API-level.
Note: For HAXM acceleration to function you need the x86 / x86_64 based images, ARM versions will run, BUT very slowly...
Note: The Images whose names start with "Google APIs ...." have Google Apps pre-installed.
Related
I have downloaded SDK tools and installed Google API's Intal x86 Atom image, however when I want to create my AVD it sais there is no system images installed for this target. BUT I have downloaded everything. I am using Ubuntu, on Windows machine same configuration works perfect, also for my colleagues same configuration works just fine.
If I select as target Android API 23, not Google API's it's okay, but I don't need Android API, since it's not working for me. I saw lots of reported defect, but none of them could help me.
Anyone has any idea that's going on there?
I had the same problem myself today and I found a bug report:
https://code.google.com/p/android/issues/detail?id=210223
To quote the solution:
There seems to be some underlining refactoring which means the configuration now required is:
Target = Android X.X - API Level XX
CPU/ABI = Google APIs Intel Atom (x86)
So, to create a new AVD with Google APIs support, just don't pick Google APIs as the Target. Pick generic Android with desired API level as the Target and then pick your desired Google APIs version in CPU/ABI. It works just fine, you will get Google Maps etc. on the AVD.
About that "but I don't need Android API, since it's not working for me" - I'm not sure what do you mean. You can't have Google APIs without using Android APIs, because Google APIs are running on Android device.
I'm totally new with android development. I installed android studio today. By default, I'm getting 15 options that can be installed in sdk manager, but my net is limited, so I cannot install all of these :( Can you please suggest the most important of these to install so that preview option should work? I need to target smartphones only: no TV or wearables.
Thank you so much!
You will probably need to download the same options for 2 different API levels: You should get API 21 (or whatever API level is your target API) and whatever API you set as the minimum SDK for your app. You make these designations when you first create your project in Android Studio, or can change them in build.gradle or AndroidManifest.xml.
You will probably want the SDK Tools, SDK Build-tools, SDK Platform, Sources for Android SDK, and the Intel x86 images from both API levels your app supports - minimum SDK and target SDK.
Android Google USB Driver for sure if you want to use a device for debugging and the Android Support Library.
And if you want to use an emulator you have to download one of the Intel x86 images (for phone).
I am finally giving Genymotion a try. And I have to say: its amazing!
The problem is that when I try to create a new virtual device, and click the Android version dropdown, I only see the following versions:
I'd like to test my app on versions not listed here.
Where is Genymotion picking these values? If its checking the sdk installation, why isn't it showing more api versions? The following prtscr shows part of the sdk manager window (right-click and open in new tab for legible viewing). I have installed many api versions but somehow, Genymotion shows only a subset of these:
I have also setup the path to sdk in Settings / ADB / Use custom Android SDK tools.
Genymotion is not based on your local installed SDK apis as Google enviroment is, so it offers a subset of own designed device oriented Android SDKs. It has obvious performance advantages, and even you can test real Google Play Store experiences (which you can't over Google's emulators) but offers a more limited set of SDKs. I always suggest to keep both enviroments up to date at the same time.
Using Eclipse, trying to create a new virtual device to test app on older Android versions, but when I go to create a new Android Virtual Device I only get one option - 4.4.2 API Level 19. How do I get other versions to show here? Last night I was a bit tired and tried to if using the SDK Manager to grab 4.0.3 SDK and Google API would work to test on older version, but it seemed to mess up Eclipse as I got an ADT needs update error (which would find no updates). So starting back from scratch and figured I'd ask instead of trial and error. Thanks!
Open the Android SD Manager, check Show: Updates/New
Select SDK Platform and ARM EABI v7a System Image (also Google APIs if you are unsing them) for all Versions you want to test and download them. You need the source of the Android-Version to create an AVD for it.
Updating your Android SDK build-tools and Android SDK Platform-tools is always recommanded because newer Android versions need a newer build tool setup.
I would like to test and distribute my phonegap app. It already runs for iPhone.
At first I installed the newest SDK (4.0.3) but this one does not run on my phone. So... i guess I have to install more.
What do I need to install in the Android SDK Manager?
All SDKs? Do I need the Sample/Arm/GoogleAPI/Sources too?
Generally I install all the SDK versions as it is good to be able to test on the various emulators to make sure you app works in all versions of Android. You should always build your application with the latest SDK but in your AndroidManifest.xml file you should have a android:minSdkVersion set to the lowest Android level you want your app to run on. For now I recommend 7 (Android 2.1) as 97% of the phones are running 2.1 or above.
As you can see in the platform versions chart here it is recommended to use Android 2.1 or 2.2 SDK to cover almost all the Android devices on the market.
I think you don't need Sample/ARM/Sources, though if you need to use Google proprietary API (for example Google Maps API) you need to use Google API versions of 2.1 or 2.2.
You only need the SDK that matches the API level you intend to build for.
This page: http://developer.android.com/resources/dashboard/platform-versions.html
has a breakdown of what devices are most active in currrent use (accessed market within 2 weeks)
Judging by that, if you target 2.1 you'd be able to install your app on 98.3% of all such devices.
It is generally best to pick the oldest platform that supports all of the features you need. Just stay at or above 1.6, that is when support for multiple screen sizes was introduced.
As I think, the best solution is SDK 2.2. Many devices work with this android version.
On your Android phone go to settings->About Phone and view the Android version. This should be the sdk you will need. Afterwords, you can just change the target android sdk version in your app and it should run on your phone. As for the folders you speak of - they contain some examples, the source code of the sdk and some additional apis to use google services. It is up to you whether you will need them. You will definitely need the platform-tools from the Android SDK manager - they provide you with the adb tool that enables you to upload applications to your device.