I recently built an android application that i need to run 24/24 7/7.
I thought about using web servers, so I bought KVM VPS WITH 2GB RAM AND 2 CPU CORES (Ubuntu). I tried to install Genymotion on it but it doesn't work, so I tried to use the androidx86 version on virtualbox and it works but it is very slow.
Now i am asking if there is a way to run an android application 24/24 on a server ?
In order to run an Android application on your computer and have it be fast, you'll need to use the x86_64 or x86 images. Using an ARM or MIPS based image requires overhead since native instructions can't be run on an x86 computer. Genymotion is good, but I find the new Android Emulator is really fast, and it's free.
I would check out the new Android Emulator and use an x86/x86_64 based image. You can customize your image to provide extra disk space and RAM allocation to the system image for better performance. I've had great luck getting it to run quickly and smoothly in recent builds.
Here is blog post and video from Google announcing the new and improved emulator at Android Dev Summit in December of 2015: http://android-developers.blogspot.com/2015/12/android-studio-20-preview-android.html
Note: Please make sure you have the most up to date Android SDK for best performance and to make sure you have the version they talk about in the link.
Related
I need to do a lot of android testing where the device I use has to be ARM based. While it is possible to create these devices in the default android emulator they are of course very slow on my x86 development machine.
A lot of this testing runs headless and automatically so I thought about setting up an ARM server and emulate the devices there in the hope that the performance would be better. While looking around I realized that there is nearly no information about this. Is it possible to run an android emulator (ether the one provided with the SDK or any other) on a ARM machine to get higher performance for the virtual devices?
This is actually a very good question.
Some cloud services like Amazon are providing the arm based machines. With those machines, we can run android emulators in cheap price.
Google doesn't provide the android emulator binary for arm.
But you can build those emulator binaries from AOSP. You have to do some work such as editing of cross-compile build files, adding target directories and building related third party libraries in arm architecture.
If you need any further information, I would attach detailed technical tips or step-by-step manuals.
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 know I could use my Desire Z as a test phone, but what if I want to develop for 3.0 Honeycomb? What's an alternative for the emulator since it's so slow?
http://www.bluestacks.com/
This site has been getting some press recently. It seems that they are going to launch a windows runnable version of android later this year. This will be another alternative to using devices or emulators for testing I would imagine.
A general solution to the slowness of processor-emulation based emulators is to run a build of the embedded environment compiled for the same processor and general architecture as the hosting machine, in virtual machine software which can run most of the code native, and only has to trap and emulate privileged/hardware-related actions.
In other words, you run the x86 build of android in VirtualBox, vmware, or whatever, and dispense with the overhead of emulating an arm processor.
In quick web searching I'm not getting a confident answer if there's a working build of Honeycomb for x86 yet, but presumably there will be a build of that or a later android version at some point.
The only alternative is to have a physical device with Android 3.0 imaged on it.
Try this one for a change it actually provides an eclipse plugin and it uses cloud i guess it is faster than the emulator comes with android by default http://www.genymotion.com/features/
My experience with the Android emulator is that it is so slow that it is unusable. I see threads related to the issue going back over a year. The lack of a coherent response to the question is unacceptable (this is not the Community's fault).
Question: Has anyone that has experienced extreme slowness (more than 15 minutes to launch) actually resolved this issue so that startup is less than a couple of minutes? If so, what did you do?
Please note that I am not trying to tie the emulator to Eclipse. I am teaching mobile web app development using jQTouch. The web apps are testing by running the emulator standalone and opening the Browser.
While my machine is a little dated, I have no trouble running Vista, Office, PowerStudio, etc. Here are details to add to the data around this issue.
OS: Microsoft Vista, 32-bit
Processor: Intel Celeron M CPU 520 # 1.60 GHz
Memory: 1.5 GB
Symantec Antivirus - Disabled
Emulator Start with no animation - did not help
Startup time in excess of 20 minutes
Java Version: 1.6.0_21
AVD Settings: Device RAM size 1024, Snapshot support enabled both in AVD and startup. - ram size and snapshot did not help
Google needs to acknowledge the issue and provide guidance about what development environments actually work. If there were a recommendation for platform, java version, memory, etc., I would follow it.
Right now I have no options other than to tell students that the Android emulator doesn't work. The only android solution is to buy a real phone, which limits testing to a single Android version and configuration.
Students are not having trouble with the iOS simulator running on the Mac.
If someone that works for Google could actually comment, that would be great.
Thanks,
Dale
The Android emulator is just that, an emulator -- it is emulating an ARM processor. Emulation will never be as fast as native. Given you are using such a large amount of your computer's memory for the emulator, you are likely having to page consistently, which will add to making the performace suffer.
The iOS simulator on the other hand is just a set of APIs that matches the iOS SDK and pretends to be an iOS device, but is running all code natively on the machine with all the resources, processor speed and memory the machine has, and likely to run significantly faster than running on the actual device.
I have no problem running the Android emulator on my old Core Duo T2400 # 1.83GHz with 2GB of RAM. The startup time can be a few minutes, but once it is running it works well with only occasional lag.
My desktop with a Core 2 Quad Q6700 # 2.66GHz with 2GB RAM tears through the emulator.
Both machines have run the emulator under Windows and Linux with varying Java versions getting similar results. My guess is that your processor is a little on the weak side.
check this article How to speed up the android emulator by up to 400
Or in brief, download an android-x86 build here, install with virtualbox, find ip address of android vm by alt+F1 and netcfg (alt+F7 to go back to graphical mode), and connect to the vm using adb (say adb connect 192.168.1.5).
Just used it, much more faster.
I've found the emulator to be very slow too - I think it's best to have a working android device and just have the emulator for a backup 'second opinion' or a reference device. It's usable but much slower than my phone, even though my current device is quite low end.
Eventually, I found that sending my code to the physical device (or emulator) was becoming a bottleneck so I build a small framework to allow me to develop most of the work as a desktop application. This has worked very well so far and has sped up my development turn around considerably. Your milage may vary.
Try using Genymotion emulator for android which is fast and also support all major platforms including Linux/Mac and windows. It also has specific emulator image files to emulate actual mobile devices like Xeperia Z or Nexus 4 and so forth.
Use Genymotion. It s is a very fast android emulator.
Android emulator is just a emulator, it emulates an Android device. It's like virtualization, you share your computer's resources with emulator, you'll need to have the latest processor and at least 8GB or RAM to run faster. About RAM: Windows and background programs consumes a part of your resources, if you upgrade your computer resources, the consumption of these software will be almost insignificant and you'll have a lot of resources for your emulator (supposing you also have Eclipse or Android Studio running).