i'm trying to test my ionic app on genymotion but it's very slow (animations take up to 2 seconds to play, transitions are laggy)
I could not find a solution so i tried creating a test project from scratch to see if it worked smoothly on genymotion. I tried just running these commands on the command line to build a new example project.
ionic start myApp tabs
ionic platform android
ionic run android
after that the example app gets started on genymotion, but it's still very slow. is this normal?
I'm answering my own question hoping that it will be helpful to someone in the future.
After testing on a real device I discovered that apparently genymotion does not work well when emulating cordova apps (this might have something to do with the webview version genymotion uses, but i dont know), and android's SDK emulator is just horrible and unusable.
I tested my app on a real device and it works OK, so the emulation was not representative of the actual performance, not even using genymotion that has been known to be very fast, at least for hybrid apps in the current version
In the end testing on a real device seems to be the only way to be sure.
The best solution I've found is the following
Install "Google APIs Intel x86 Atom System Image" for your preferred SDK version (I'm using 6.0.0)
Create a new AVD with the following settings:
Target -> Google APIs (Google Inc.) - API Level 23
CPU/ABI -> Google APIs Intel Atom (x86)
Memory Option -> RAM -> 1024 (too much ram causes the emulator not to start)
Emulation Options -> Use Host GPU -> Checked
From my experience, this was the best performing emulator. Hope this helps.
You can use sdk version 4.2 , it is still better than 4.4 for now to run ionic in genymotion.
https://github.com/driftyco/ionic/issues/3619
Related
Emulator in the image below is one of the fastest emulator in xamarin. I have 2 computers and 1 of them has this emulator somehow installed. whatever I tried and I searched all over, I cant find out how to install this emulator on my other computer. Does anybody know how do I get this emulator. something similar described here but it is not the same at all.
I have already api level 23 and intel atom(x86) for this api level installed
I have installed extras in android sdk manager as below
There are two ways of getting an x86 enabled emulator.
First is by installing the Intel HAXM emulator. To do so open Xamarin Studio click on tools and open SDK Manager. In the Extras folder you will see an entry Intel x86 Emulator Accelerator.
An even simple solution is to install Android Studio and during the installation set the SDK path to the one configured inside Xamarin Studio. The benefit is, that you can use Android Studio for stuff like memory monitoring, CPU usage and such as well as getting a better designer for your layouts.
I described it for Xamarin Studio but the steps basically applies to Visual Studio as well.
I found the answer for my question. Just for anyone who will have same interest here is the answer. I dislike xamarin android emulators in general. I used to test my app using real device rather. Advantages were,
I didnt need any virtualization whatever hassle to be installed like hyper v
They occupy a lot of space on my ssd drive
but this emulator is beautiful, fast and light. It occupies only around 700mb. I highly recommend this emulator to anyone.
It comes with VS 2017 RC installation but you dont need to install VS 2017. It is also working with VS 2015. Just download the VS 2017 installer and choose the emulator only from the list.
PS, I guess most of the xamarin presentations made by microsoft and xamarin is with this emulator :)
Long story short: I'm trying to run an AVD with api level 22, Nexus 5, CPU (tried all 3 options - ARM, Intel Atom x86, Intel Atom x86_64), 2048 RAM, 1 GB internal memory, 500MB SD card, using host gpu.
And it takes the emulator about 20-30 minutes to load, and after every click takes about 10 seconds to respond, and also the resolution is a shit, the icon are getting on top of each other.
It happens only with high api level, if I'm using api level 19 it works a lot faster.. But I need api level 22 for using nativescript.
Long story:
I developed in the past for android using Java (with eclipse) and phoneGap and cordova.
But java isn't working for ios and phoneGap performance isn't like a native app.
So I searched and find NativeSctipt that supposed to build native apps in the final product.
I wanted to try it but it needs to be on api 22 and for some reason the emulator is not working good at all when using this api level.
Also I searched and I didn't find a way to connect another AVD to develop,
I wanted to connect one called Andyroid, but I couldn't connect it.
I don't wanna use Genymotion as it's not free for commercial use.
Hope you can help.
Update:
screenshot of my installed HAXM
I think that your computer is not compatible with VT-x/HAXM technology or you haven't already installed.
Open your Android Sdk manager.
Go to your android-sdk directory and choose tools folder.
Run android file.
Check if HAXM is installed
If it isn't installed try to install and check if it would show error dialog like 'your PC doesn't support VT-x technology'
If you're running Linux, you would need to install KVM. Here you would find instruction how to do it: https://software.intel.com/en-us/blogs/2012/03/12/how-to-start-intel-hardware-assisted-virtualization-hypervisor-on-linux-to-speed-up-intel-android-x86-emulator
Check if Hyper-V is running (only Windows)
If you're using Windows check this and DISABLE Hyper-V if it is enabled
After that try to install HAXM/KVM again.
Hope it help
if your skds are up to date ....just creat your device with defualt RAM(1536) and VM heap (64) and it works :)
Well I will be starting to develop android apps. I am very new to this platform. I have installed android studio and SDK. I now need to install "Google API Intel x86 system image". This is because i checked the "virtual device(1 GB)" option during android studio's installation wizard. is this the emulator? can i develop apps without this API? or what is it?? It is a large file and i do not have much fast internet connection. Is it necessary to download and install these ?can anyone explain me?should i
As ChrisCM said, this is an emulator image.
Plus, if you don't have your own device to test, I recommend to use Genymotion - https://www.genymotion.com/
This is an emulator image, for a particular version of the Android API. For the Intel x86 images, you also need the Intel HAX emulation option installed. Though, if you have your own device, testing on a device is a lot more convenient. The emulators, even the faster x86 versions, are quite slow, and a bit unstable. There is no reason to download this, unless you wish to test on an API version that you don't have a device for.
This question has many parts.
Some info about my system:
64-bit Ubuntu Linux
I am wondering what the stock emulator is that comes with Android Studio (A.Studio) (if indeed it has a name).
A helpful answer would include comparing this emulator with other emulators. A list of pros and cons of using each different emulator would also be helpful.
Perhaps there is a more fundamental ~thing~ about using different emulators; information on that is welcome if anything comes to mind.
Finally, i have never used an emulator besides the one that has come with Eclipse or A.Studio. What do I need to know in order to plug any emulator into any IDE? I have had issues with IDEs being "fragile" and breaking frequently, FYI.
You can use genymotion, for fast speed the quality, both for the eclipse and Android studio, get it here.
Also you can set up the Google play service for using Google Maps and downloading apps from Google play store.
Get the package and how it use it , please refer to here.
The emulator used by Android Studio is the exact same one used with Eclipse. It is in fact included with the Android SDK (which is in turn included in Android Studio) and used by various development environments.
The way it works depends on what kind of system image you use it with. For most recent Android versions, there are 2-4 different system images - arm, arm 64-bit, x86, and x86 64-bit (the 64-bit ones are Lollipop only, and fairly experimental at this stage of the game [early 2015]).
There are also Google API versions of these images (they include various Google apps such as Google Play Services) which can be used if these components are needed by your app.
For development purposes, the x86 system images are your best bet as performance is vastly improved by the emulator not having to emulate the ARM architecture - you need to use HAXM (by intel, also available in the Android SDK) to get any real speed benefits with x86 images though. The emulator also provides GPU acceleration (it must be manually enabled for each emulator device) which allows it to use your physical GPU for rendering instead of emulating these operations in software.
The way the development environment (Android Studio) connects to the emulator is via ADB (Android Debug Bridge). This means that it can work with virtually any emulator (such as Genymotion, which runs via VirtualBox). However, there is native support for using the Android Emulator from within Android Studio (this is configured by selecting emulator in the Run/Debug configuration)...when using another emulator (such as Genymotion) you should select USB device (in Run/Debug configuration) and make sure that the ADB instance is connected to your emulator via TCP (Genymotion does this for you automatically at startup).
This should give you enough information and I will not re-post all the various instructions on how to do any of the above as they have been posted as answers to various questions here on SO.
I'm using AndEngine and always get the error:
"java.lang.IllegalArgumentException: No EGLConfig found!"
when I run my app in an emulator. The GPU emulation is set to true in hardware configurations. It also happens with all sdks. My app runs fine on a phone. Anyone have any suggestions? :)
Edit: this was a problem with my graphics card setup in ubuntu, all is well now :)
I had the same problem before and I solved it doing the following:
I downloaded the last two APIs(API 15 and API 16)
I installed ADT 20.0.3 with Eclipse JUNO
I installed the latest versions of platform-tools(revision 14) and sdk-tools(revision 20.0.3)
I downloaded the new system images based on Intel Atom x86 for the platforms(pay attention to this cause API 15 and 16 won't work on ARM(at least for me didn't work)).
As you mention enable GPU emulation when you create your AVD.
Note: You can do all these with your SDK Manager. If it is not the case because your country is blocked(Can't access to Google repositories), you'll have to use a proxy and go for direct links, BTW that's my case. :)
That should be enough, I think this is the best configuration you can have for developing Android, altough your problem can be solved by applying statement 1 and 4.
Good Luck!!!
PD: If you want to test some app who uses OpenGL 2.0 in a previous API version(for example Froyo) you'll have to do it in a physical phone.
this was a problem with my graphics card setup in Ubuntu 12.04 :P