4 ms·
Doesn't Google give out a free Android emulator?
by 1024core 6y ago
Doesn't Google give out a free Android emulator?
- freeone3000 6y agoIt is incredibly nonperformant. Even with HAXM. Developers use real devices. This is marketed for people who want to run android games on their PC.
- sercand 6y agoI recently tested Android Emulator [1] on Apple M1 computer and it is finally a performant emulator from Google. I can finally use android emulator on my computer for development. [1] https://github.com/google/android-emulator-m1-preview https://github.com/google/android-emulator-m1-preview
- aspyct 6y agoNot to mention testing a mobile app with a mouse is... well, not the intended use case, to say the least.
- maxhille 6y agoAndroid app dev since 10 years here - performance is absolutely fine. I have it running all the time. Granted, performance was abysmal before the accelerated Intel images, but that was many years ago. Devs complaining about Android emulator performance usually have problems with their setup, common culprits: Not enough ram (it is a VM in the end), slow machine (eg. MacOS is bad for Android dev), broken VM acceleration (AMD was a problem for a while IIRC).
- freeone3000 6y agoAccelerated intel images require you to be running an Intel Android install, not ARM like the vast (>95%? 99%?) majority of devices. We had a bug around the byte-size of "long" that only showed up on real hardware.
- pjmlp 6y agoSpeaking from experience, unless one has a desktop gaming rig, Android development is plain awful. Only doing WebSphere 5 with RAD comes close as bad experience, and even in 2005 it was faster than doing Android builds. Also the emulator is unusable for any kind of graphics programming testing.
- jeroenhd 6y agoPerformance is perfectly fine as long as you pick an image with your computer's native instruction set and have hardware acceleration. Performance through QEMU (ARM on x64, x64 on M1) is terrible, of course, but that's to be expected with software instruction translation. With proper acceleration (which may be unavailable on Windows without some tweaking, even after installing HAXM!), Android will run similar to a standard Linux VM, at near native speeds. One problem I've run into has been that Android relies heavily on GPU acceleration. If that's unavailable on your platform (because, for example, your driver is considered buggy by the emulator devs (common on Linux with proprietary drivers) or if all you've got is an integrated Intel GPU that already has its hands full rendering to your 4k screen), your experience will be terrible with any Android emulator. Android with software rendering won't be a bit slower and choppier like you see in desktop VMs; it will be absolutely unusable for anything but a cursory check to see if the software even runs at all. There's also the addendum that many Apple products sporting an Intel CPU have had their power/performance curve and fan curves tweaked to be silent and super performant in short loads (compiling a single file, opening a browser, loading a page, etc.) but clocking down hard and long if you run a sustained load on them, especially with a multi core load. This can make a system that normally feels snappy and fast run terrible slow with an emulator. Similar problems also exist with cheap netbooks that just have insufficient cooling on the processor. I do believe the M1 designs are better suited for sustained loads, so with the new Apple stuff this problem should be gone. When I was still running the emulator off of a hard drive, performance was severely lacking because Android is not built with HDD seek times in mind, but after switching to an SSD that quickly became irrelevant. In my experience, running Android on a 12 core i7 with an NVMe SSD is actually running the entire system way too fast for a realistic development experience. Your average dev machine is much faster than whatever your customers will most likely be running your code on, so you still absolutely need to test on real devices. Emulators are great for debugging because you get to test in an environment with close-to-stock Android (so you don't accidentally write code that only works on Samsung or on Pixel), but for performance and usability testing you need a physical device. That said, I don't think running the Android dev emulator to play games is very efficient. It'll work and perform absolutely fine, but there's been no effort put into making controllers work or into optimizing controls for desktop.
- 6y ago
- jeffchien 6y agoSome of these emulators support binding keys to click certain points (and even bind WASD to a directional pad), which is pretty nice for certain games. One could probably write AutoHotkey scripts to do the same thing, but it's just more convenient to have it built in. I haven't used AVD to play games before, but while installing a game to test I noticed that it's using 1.3GB instead of 300MB consumed by the other emulator I use (MuMu). I can imagine that mattering for some players. Edit: These emulators are also somewhat convenient for some mobile game developers, who can package them up with their game to create a PC installer. As far as I know you can't package up AVD like that.