Android SDK - Installing system images? - android

I am new to Android development. In Android Studio, I just installed every SDK under SDK Platforms. I noticed, though, when I click Show Package Details, that there are various System Images under each SDK version, called ARM EABI or Intel x86 Atom or Intel x86 Atom_64, and then the same things I just mentioned but with "Google APIs" prefix.
Is it good practice to install all of the images?

You can't call it a good or bad practice to install it or not doing it, it will depend on your needs (your machine hardware). If you use a device to compile, you can forget about those images.

Only install images when you need to test your application and what you need to test tell you what image need to be download.

Related

Starting an android emulator

I'm running OSX 10.10.3
I'm trying to make an AVD but am having issues.
I followed these instructions http://developer.android.com/tools/devices/managing-avds-cmdline.html and http://cordova.apache.org/docs/en/5.0.0/guide_platforms_android_index.md.html#Android%20Platform%20Guide
I run
$ android create avd -n first -t 2 --abi default/x86
Android 5.1.1 is a basic Android platform.
Do you wish to create a custom hardware profile [no]
Error: Unable to find a 'userdata.img' file for ABI x86 to copy into the AVD folder.
Error: AVD not created.
I have many sdks and images installed but for whatever reason the avd creation tools can't locate them. How do I fix this?
Here's what my sdk manger looks like
It looks like your answer is in the screenshot: "This AVD may not work unless you install the Google APIs Intel Atom system image for API 22 first."
You say you have "many sdks and images installed" but please verify that you have that one in question installed.
Also, you can try creating the avd with the armeabi system image instead of the x86 one.
Also, the Google APIs have a different system image than the "plain" SDK targets.
Look your sdk manager image.
You must check:
Intel x86 Atom_64 system image.
Intel x86 Atom system image.
And create the AVD again.
I ended up deleting my sdk tools directory. Reinstalling the stand alone sdk-tools and android studio. Then the SDK manager redownloaded all the necessary images.

Successfully Running an Android AVD Manager and creating new Emulator

So I am a beginner to Android development and decided I would start learning based on the Android site itself how to make android apps. I thought a good place to start would be making my first emulator and running a minimal hello world program.
Using the Android Guide:
http://developer.android.com/tools/devices/managing-avds.html
It instructs how to make an emulator but the appearance of my AVD is radically different than the one they are using and I have encountered an error with it which I cannot find online literature to fix:
Specifically the process they give to make a new virtual device is hit "new" (in my case I am guessing that is the same thing as "create" since there is no "new "button on the most recent version of AVD manager)
And after that a form appears, I am supposed to fill up the form with relevant Virtual Device information and hit "ok" to create the device.
Except... after filling all the information I still cannot hit "ok". The button is greyed out, and I have done everything exactly as the android guide told me. What should I do to fix this? I have the form displayed below notice the greyed out ok button on the bottom right corner.
The problem is in the field: "CPU/ABI: No System images installed for this target". To rectify, open up the Android SDK Manager and download/install a System Image.
For example, when I open the Android SDK Manager, I expand the Android 4.4.2 (API 19) and install the ARM EABI v7a System Image (and for giggles, I might install the Intel image as well).
Whilst there, make sure you have other bits you might need for development (but not necessarily for the emulator) like the SDK and I'd definitely recommend downloading the sources, samples, SDK Tools, SDK Platform-tools and SDK Build-Tools.
You can use a later API version if you like, but API 19 has been released into production at the time of writing.
After which, you can restart the AVD and you'll be able to select the a CPU and create the emulator.
I suggest you should add all the "Android System Images" to your Android SDK Manager.
For that,
Open your SDK Manager from Windows -> Android SDK Manager.
Now expand each Android API versions then check Google and Intel X86 both system images and also check Intel HAXM Installer in the Extras.
Download and install them.
After successful install, the status changes to be as "Installed".
Try this also:
Now if your system have a Processor that have a feature called as Intel Virtualization Technology, then Intel X86 images will be huge benefit for you. because it supports IntelĀ® Hardware Accelerated Execution Manager (IntelĀ® HAXM).
To check that your processor support HAXM or not : Click Here
You need to manually install the Intel HAXM in your system. Follow these steps for that.
First of all go to - adt -> extras -> intel -> Hardware_Accelerated_Execution_Manager
Make sure that Intel Virtualization is enabled from BIOS Settings.
Now install Intel HAXM in your system and select amount of memory(i prefer to set it as default value).
After installation create new AVD which should have a Target of API Level xx
Now set the CPU/ABI as Intel Atom(x86).
If you are on Windows then do not set RAM value more than 768 MB while setting up an emulator.
Run the emulator. It will be blazing fast then ordinary one.
Hope it will be helpful for you. :)

Is there a way I can run android OS and apps from my windows PC?

I am developing an android app and want to test on the latest version of android, also I need to check some apps from google store, so Is there a way to run full android OS from my PC, I searched and found some telling to use virtualbox, but I tried the installation steps and it didn't work, are there any other suggestions?
You can use GenyMotion for that. It provides Android VM that are really better than the one of SDK (chosse images of Android machines that are provided with google apps for retrieving apps from Play Store).
Assuming the normal android sdk is already installed, using the Android SDK manager:
Install the Intel x86 Atom System Image of the latest api level.
Install Intel x86 Emulator Accelerator HAXM which can be found in the folder called "tools" inside the list provided by the Android SDK Manager (for those of you on Linux, you'll have to hunt around and install kvm instead).
Create an AVD using the AVD Manager
Make sure you select the x86 version when creating the AVD, the select box defaults to ARM.
And tick the checkbox Snapshot, to make sure your image keeps anything you install on it between restarts.
Fill out the rest of the parameters, create your AVD, and start it (the first time it runs will take the longest, the second time will be faster). That being said, it's still a good idea not to shutdown the emulator between tests because of the reboot time.
AVDs based on parameters alone and not actual device names will also be faster than the ones that have specific model names, but bear in mind that those with parameters will include less stuff. So it sounds like you'll want to make sure you select one with a specific phone model name.
Genymotion should work just fine as well. Just note that for the non-AOSP phones, you may have to install some of the system apks separately (because of licensing reasons, but those system apks should be very easy to find if you just google around for them)

Is there any way to make Android SDK's device emulator to emulate an ARMv7 device?

By default AVD runs ARMv6, is there any way to make it emulate an ARMv7 device?
There is the ability to download an "ARM EABI v7a System Image" via the 'SDK Manager tool' (this is in the 4.2 API product tree). Then you will need to create an emulator, that uses this system image.
If the image you are looking for doesn't exist (you aren't seeing it in the list of downloadable options in the SDK Manager) it probably isn't possible right now.
Bottom line, you will need the ARMv7 system image - then you can use that in your emulator.
I've never done it, but there was talk on the forums about setting the emulator up to emulate a Google Nexus 7 tablet and that would install the ARM 7 support. I can't find that post, but here is a post that has a walk through:
https://developer.coronalabs.com/forum/2012/10/26/guide-getting-your-corona-app-run-android-emulator

what is intel x86 atom system image in android sdk manager?

I am new to Android development. I am setting up development environment.
So my question is, what is Intel x86 atom system image in Android SDK manager?
Should i install it or not?
The option is present in API level 15 & 16 but not in 17.
Thanks.
So my question is, what is intel x86 atom system image in android sdk manager?
It is a version of the Android emulator that runs natively on x86 CPUs, like those in most development machines.
Contrast that with the ARM system image, which contains ARM (not x86) CPU instructions, and therefore must be translated when run.
Should i install it or not?
The x86 emulator images, where available, tend to run faster. You will have to do some work on your development machine to take advantage of them, as is outlined in the documentation.
the option is present in api level 15 & 16 but not in 17.
AFAIK Google relies upon Intel to create these images, and Intel has only done so on a few API levels.
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
Whether I should install this?
Yes, if you are using Intel processor. To check if your intel processor support Virtualization Technology(VT), use Intel Processor Identification Utility tool.
Note: If your CPU does not support virtualization technology(VT),
then you cannot use virtual machine acceleration.
In order to install the emulator image add-on, you can use the Android SDK Manager (Recommended Method):
Install Guide(Recommended Method)
Alternately, you can download the binary zip file and unzip and copy the included directory into the add-ons directory of your Android SDK installation. (Note that this method does not allow for automatic updates of the add-on):
Install Guide(Alternate/Manual Method)
Hope this helps.

Categories

Resources