To increase performance, I want to allocate 1024 MB RAM to a tablet emulator. Problem is that it won't start, i.e. no windows/consoles show up when I click Start in the Virtual Device Manager. If I let the device to its default 256 MB, it starts. How can I fix this?
I'm using Windows 7 Ultimate with Intel i7-2.2 GHz and 8 GB RAM DDR3. It used to work fine on 32-bit windows.
I know this isn't an answer to the particular question you have asked, but it may help with the underlying issue: you can increase the performance of your emulated device by switching to an x86 version.
The Android emulator has always been painfully slow for me, even on a quad core rig with 8 gigs of RAM, so I started following the Android x86 project. Not long ago, I finally took the plunge into getting it set up, and it was easier than I expected--and it's really, really fast.
If you have VirtualBox installed, all you have to do is download eeepc.iso from the project's website (for whichever Android version you prefer), create a VM for it in VirtualBox with however much RAM you want it to have, and boot it up. Pick VESA mode from the menu, disable mouse integration on the VM, and skip the google account login process. You'll be good to go.
Then just set up port forwarding for ADB from guest:5555 to localhost:whatever-port-you-choose, and point ADB at localhost:whatever-port-you-choose, and it'll work even better than the ARM emulator that ships with the SDK.
I disabled the camera support and I was able to use 1024MB of RAM.
Related
This is not a rant, and also not a duplicate of the forever "why is Android emulator so slow" problem. So, until a few weeks (maybe months) ago, emulating Android devices on my Win7 64-bit system was at the very least acceptable (x86 emulation was decently fast to be usable). However, trying to create any ("fast" "new" "2.0") emulator instances using the latest version of the SDK, platform tools, etc., is only a source of frustration and pain for several days now. I'm trying to understand if it's an issue on my side or people can actually use the latest version of the Android emulator included in the latest SDK, on Windows 7.
My PC config: Win7 x64 / Intel Core 2 Quad #3.8 GHz / 6 GB RAM / plenty of HDD space / dedicated GPU
What happens when trying to start an emulator with any API level, with either x86 or x86_64:
version 1) emulator starts, Android logo appears, glows for a bit, and that's it. It never reaches the Home screen. Emulator log shows absolutely no errors. Trying to connect using adb freezes Android Studio until I kill the emulator process.
version 2) Same like version 1, but in this case I can't even kill the qemu-system-i386 process (yes, not even with full admin rights). I have to actually restart Windows. Process remains a zombie, using 1 GB of RAM.
version 3) If I'm lucky, sometimes it reaches the Home screen, but becomes completely unusable. Sometimes I can click on things (maybe 2-3 clicks), and then becomes completely unresponsive. Occasional "Launcher has stopped" / "System has stopped" messages appear randomly in the emulator's home screen...
I've installed the latest Intel HAXM 6.0.3 version (the one downloaded by the Android SDK manager). Virtualization is enabled in BIOS.
I've tried all kinds of emulator options (more or less RAM, hardware vs software GPU, x86 / x86_64). Almost same result every time.
I've completely deleted and reinstalled the entire Android SDK and Android Studio.
CPU is not the issue - it's not under load while emulator runs.
Free RAM is not the issue - it's not fully used while emulator runs,
HDD is not the issue - I even defragmented it, and it's not looking like it's under any sort of load while emulator is running.
So, my question is very simple: is anyone out there using Windows 7, who can actually start up, let's say, a Marshmallow x86 emulator just by a simple 2-3 clicks process, and actually have it reach the home screen? Or does the "new, faster" emulator actually need some sort of super-powerful machine which I don't seem to possess anymore? The only thing that apparently changed was the HAXM driver. But it's stating that it has initialized just fine, so I don't know. Oh, and VirtualBox runs just fine. GenyMotion, by contrast, just flies. But I'd like to have the official Android emulator in a working state, or am I asking for too much?
Adrian, in my sad opinion: yes, you would need a powerfull processor, even a litle bit more of ram. The almost-aceptable scenario for you to run api 24 emulation in xxxhdpi resolution is an i7 with 8 of ram.
But this is what hard and software manufacturers want you for: upgrade, upgrade, upgrade. And it's not necessairilly true for you, or not obligatory for today. Maybe tomorrow...
It's my case too. I have a second generation i5 with 6 of ram and plenty of disk. Have a good geforce gpu too. And what I do to have my emulators running, or, how do I emulate in my win7? First of all: unninstalled all the last (about 30) non-security system updates from windows (! yes..., they make your system very heavy, the same with the various distributed c++ packages microsoft want us to carry on with our systems even if we use it once a year, or less - go to control panel and ripp'em off! Keep only the most recent c++ package - if you need it later, update again). Actually I'm even investigating what else "updates" I can delete from my system to have it usable again, mine again. Microsoft...
Second: enabling "power save mode" on your android studio (menu file), only in testing times, seems to make things faster.
Third: do heavy tests on emulators with "low" apis, like android 4 or 5 at max. And emulate devices with small screens or resolution, 5 pol. with 720 points (hor.), at max. If possible use _x86 64 emulation.
With this you can make it happen. The emulator is slow to load and open, but when running it works in a fairly good speed. First thing to do there: enter developer options and "force gpu" on both places. This will instruct your pc to take advantage of your dedicated gpu system.
Do not try to open two or more emulators at the same time, sorry.
When 90% of your debug is done (i do it in an emulator running android version lower than 5, normally 4.0 or 4.1 - 480x800 screen), then you pay the price to load a big screen, big dpi android 5, 6 or N). While it loads, make a coffee and use the bath.
When the beauty (beast?) is loaded, then do the final tests with all your apps that stayed waiting for this special moment. I maintain all my apps waiting for it. When I load the "big" emu I use this oportunity to do all tests I was needing - because it's not a simple task open this everytime I want.
In the future, as said: i7, 8ram, powerfull gpu and, very important: a good SSD drive (until 10x faster) to throw up damn nasty harddisk to the garbage. :) Best.
EDIT: when you create an AVD image with the latests APIs, Android Studio defines the ram and disk space values for the emulation and, in my opinions, these values are too big and too hard for the hostage computer to deal with. First point: your testing app never will demand all those resources. Two: your pc suffers hard to deal with a very fragmented Gb data from here to there, and there to here. Three: the virtual image created on your hard disk gets bigger with the use. So: 1 - lower the default values from your avd images, ram and disk sizes; 2 - on the avd launching window dialog, edit the options of each image and rip information everytime before start the emulation OR/AND 3 - uninstall your apps from the emu when not needed.
I am working on an android application, uing eclipse IDE. However it takes around 10-15 minutes to load my AVD and run the application.
My system Configuration:
RAM 8GB
intel Core2Duo Processor 2.53GHz.
OS: windows 7
Is their any alternative to increase our AVD's speed, without changing my systems hardware configurations.
You can setup an Android Virtual Machine using VirtualBox :
http://www.howtogeek.com/164570/how-to-install-android-in-virtualbox/
And to deploy to the virtual box :
android emulation on virtual box in eclipse
I tried this a while back and it was quite a performance improvement difference. I haven't done this in a while because I bought a pretty high end phone and I just use that now.
Is their any alternative to increase our AVD's speed
Using the x86 emulator will help.
That being said, your computer would appear to have issues. With that configuration, even the ARM emulator should take at most a minute or two, at least on Linux. Windows 7 perhaps adds some more overhead, but I would not expect it to be that much.
Also, bear in mind that you can usually keep your emulator open all day -- you do not have to exit and restart the emulator for most work.
GenyMotion have an Android Emulator that is pretty rapid. (not an AVD)
http://www.genymotion.com/
Genymotion is an emulator using x86 architecture virtualization,
making it much more efficient!
Taking advantage of OpenGL hardware acceleration, it allows you to
test your applications with amazing 3D performance.
It's free for personal use, has preconfigured devices (like N7 or Samsung GS3 etc).
I think you'll really like it.
You can select the snapshot options. On the first next start, a snapshot will be created. This will improve the launch speed of the emulator every other start...
Android Emulator takes from 15 to 20 min to start up and mostly crash thereafter on my Laptop no matter what kind of Android mobile or setup Im using. Im one a total lost on what i could do to make it run on a usable level.
Im running it in windows 8 on my labtop with 8 gb ram and a AMD quad-core on 1.6 GH.
Make sure you've installed the "Intel x86" system image for the API level platform you're using and then make sure your emulator is using that in the CPU/ABI dropdown in its configuration.
That will speed it up significantly over using the ARM image.
The only other thing you can try is to use snapshots, then you'll only have to sit through the long start up once. Snapshots have always been kind of glitchy for me though and I've stopped trying to use them, which reminds me, if you are using snapshots, try turning them off, that might help too.
This also happens to me when trying to run a full-spec device. I lower the specs and resolution quite a bit since I don't even have enough memory to allocate for a 1GB ram virtual device.
The first boot will take some time. You can configure your emulator to use snapshots which will speed up the boot time considerably. Look into running the x86 image which will increase the performance of your emulator. Keep in mind if you have any armeabi-targeted binaries, they will not work (not an issue for most people).
I have intel i7 quad core with 4GB of ram but when I try to run my app on the emulator, God it takes a hell lot of time. Some times more than 5 minutes. I am not emulating any game or graphics intensive thing. I am learning android so just trying simple aps but still it is very slow. Moreover today I found this emulator has stop playing any music or sound I used the in the programs, I made previously. What can be the reason of this weird behaviour and slow speed.
How can I fix it? I am on Windows 7
PS: when I try to type in an app from user keyboard, the emulator doesn't take any input unless I use the emulator keyboard. Can I change its settings to take input from keyboard.
Regards
Open android sdk manager, in extras, install "Intel Hardware Accelerated Execution Manager", and use x86 images (there are two available, one 2.3.3, one 4.0.3) provided by intel.
On windows, android SDK Manager only downloads the installer of IntelHaxm, so you have to go in and install it yourself. Usually you can find it under
android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager and install IntelHaxm.exe as admin.
4GB of RAM imho is not enough, windows 7 and eclipse together takes more than 2GB out on my system. 8GB is minimum and the more the better.
The emulator has always painfully slow for me; I've never gotten any of the standard speed suggestions to work. However, if you have a device available, testing directly on it is much, much faster.
My laptop: Intel Core 2 Duo CPU, 2GHz, 1GB RAM.
I created a target with SD Card 512MB, Device RAM size 512, snapshot enabled. I waited for 30 minutes but the emulator doesn't ends up loading. It keeps showing a flash word "Android" on the black screen.
Before running the emulator, I closed most other programs.
What's wrong with it? This is very frustrating. :(
What is your CPU and RAM usage during startup? Do you have a lot of IO swapping occurring? Considering that Windows needs at least 512 to run right half of the time and Eclipse is a memory hog you probably just need more RAM.
It shouldn't take more than 5-10min at most to build the emulator on initial startup. The SD card size has no effect on memory usage, it's not loaded into memory, it just creates a larger image file for the sdcard. Setting the emulator to have 256mb of ram will help, but in general when I have the same problem I just close down the emulator window and re-start it. Sometimes it just gets hung-up on creation and isn't a memory issue (I have 16gb of ram and still have the problem from time to time)
You're assigning the emulated Android instance half of the physical memory on your machine. Get more memory.
Emulator is in general very slow, and the higher the OS version on the emulator, the slower it gets. I'm a game developer, and with my AMD Athlon X3 2.90 GHz with 4GB RAM it gives me 5-6 fps. I tried to open one of my apps on Honeycomb emulator, and it was really terrible. It opened, but I couldn't do anything with it. So the best answer is purchasing a real device.
I've experienced the same thing and in my case I had to set "Min SDK Version" when creating the project in Eclipse. Without this setting the emulator didn't start.
Android Development Tools (ADT) 9.0.0 (or later) has a feature that allows you to save state of the AVD (emulator), and you can start your emulator instantly. You have to enable this feature while creating a new AVD or you can just create it later by editing the AVD.
Also I have increased the Device RAM Size to 1024 which results in a very fast emulator.
Refer the given below screenshots for more information.
And for speeding up your emulator you can refer to
Speed up your Android Emulator!:
The native Android emulator is really slow. It's much faster if you use Android on a virtual machine. You can follow my detailed guide on setting it up. http://www.bobbychanblog.com/2011/07/faster-android-emulator-alternative-using-virtualbox/