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/
Related
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 the IDE question has been asked before, but I'm hoping there are new IDEs/options available to developers. Eclipse is too slow/unstable, even with my 8 GB of RAM.
Also, do we have any other options for emulators? The Android emulators, aside from being slow, I find is not a real world simulator of an Android device.
This is my first post on Stack Overflow, and hopefully by opening up older questions I haven't broken any of the rules.
I have 4GB on Windows 7 x64, AMD PhenomX2 and Eclipse it is not slow. I would suggest modifying eclipse.ini to give more RAM memory to eclipse :
-Xms512m
-Xmx768m
-XX:MaxPermSize=768m
You could also have a look at this blog post : Eclipse and memory settings.
As for the AVD, the emulators run better than before, but still if you want to simulate an 3.1+ Platform Device, you'll be in serious problems, since it is very slow. So as you said, it's 2012, you should probably test on some real devices.
There are other IDEs and emulator solutions out there.
For IDE Check : http://www.jetbrains.com/idea/
Other Emulation Option : http://www.android-x86.org/
By the way, I use eclipse and AVDs! :)
I'm hoping there are new IDEs/options available to developers
Nobody is forcing you to use an IDE. I wrote three books on Android application development using a plain ol' text editor and the command line. The only reason I use Eclipse now is because it's drag-and-drop GUI building support now makes it so compelling to developers that I feel I have to cover Eclipse more in my books.
Also, do we have any other options for emulators? The Android emulators, aside from being slow, I find is not a real world simulator of an Android device.
The closer you get to hardware, the more the emulator will behave like an emulator. Outside of that, it is as "real world" as you are going to get. For things where the emulator is insufficiently "real world" or is too slow (e.g., tablets, video playback), test using an Android device. All devices that legitimately have the Android Market on them are capable of serving as app development test devices.
Its true that eclipse is very slow and unstable but I still work on eclipse due to its Drag and drop design support. If you don't need that feature then go for IntelliJ IDE, It was the first IDE that I used for android development and is really better than eclipse in terms of stability, debugging and launching emulator.
As of the emulators, there are many new emulators available like Youwave, BlueStacks etc. but still you have to stick to android sdk emulator as it can be easily integrated with development and debugging.
Eclipse is probably the most used IDE by developers.
By providing Android plugins for Eclipse you don't have to ask developers to learn how to use a new environment (key bindings, windows, perspectives, buttons, ...).
I'm pretty happy to develop Android applications using the same IDE I use for other Java, C and C++ projects.
Regarding performances issues, I use it on Ubuntu and with 4GB ram and an i5 processor I don't find it slow or sluggish.
A 'vanilla' Eclipse install with Android Development Tools runs fine for me (I run it on an i5 with 4GB of ram and also on Core Duo2 with 8GB of ram).
You can also use a simple text editor for your Android projects if you want, or IntelliJ Idea community edition which is free and comes with Android support.
The problem with Eclipse (for me) is the number of plugins you've installed, if you just keep it down to the basics (java, c++) it works quite fast, some plugins are just CPU HOGS (FlashBuilder, STS ...)
I'm a happy user of Eclipse on Mac and have been developing for Android for years now. Prior to that I was doing JSP/JAVA in Eclipse using the built in support for Tomcat - awesome stuff.
It's priceless that one IDE can help you do WEB, Dynamic WEB (JSP/JAVA), Mobile development (Android) all with the same UI. No need to learn new stuff - how can you go wrong with that!!
Android Studio by Google. Is much better than Eclipse. It makes life easy and improves speed beyond your imaginations.
I have some operating systems such as Windows 7 and Linux.
Is it possible to run Dalvik on this Win7 and after that running an Android application or game?
Thanks
One solution is to install Android-x86 (Android for Intel or AMD CPUs) either natively or in a virtual machine. If you only want to play some games and not to dual-boot with Windows and Android, you can use the excellent Android emulator Bluestacks. Just a warning, depending on your hardware (or virtual hardware) one version of Android-x86 may work better than another, you have to try. In a virtual machine most likely the virtual graphics card won't be detected properly, so you have to run it in VESA mode. I recommend editing the boot entry before running it and adding the commands:
nomodeset xforcevesa vga=ask
Then choose graphics mode to run Android-x86. This forces a specific VESA mode and most of the times the graphics are presented properly with correct colors on screen. Of course in that case you have a performance penalty. Some games may need to enable Developer Options and then force software rendering to be able to run them.
Android's virtual machine is tightly integrated with the OS (Linux). So, it is impossible to run it on Windows.
The lower-level components (OS and native libraries) in the Android system provide many services that Dalvik merely "translates" for the consumption of Java programs. So porting Dalvik to Windows is probably very hard and rather pointless.
dalvik can definitely run on (normal) linux, and it's likely it can also run in a cygwin environment on windows.
As for being able to run Android applications, that is quite a bit more complicated. However, the AOSP source does have a "simulator" build, which does just that - runs dalvik natively on the host machine and provides an android framework etc, for running android applications.
Keep in mind however that the simulator environment isn't actively maintained, and will probably require quite a bit of "love" to get it to work.
You can install Android on your PC with VirtualBox. Check out this tutorial.
I have a Red Hat Linux (RHL) system on which I'd like to run Android apps. How would I do this? Is there an open-source port of the Android Runtime for linux? Kind of like a VM?
If not, what steps will I need to follow to port the runtime to RHL (with the Dalvik VM etc) so that I can run the android apps built by all android developers?
I am new to android so I am trying to understand if there is an application virtualization support for it from anyone. Thanks in advance!
You need to use dex2jar to convert an APK file to a JAR and then you need IcedRobot to run the Android stack above OpenJDK. Maybe I will try to emulate AndroidGL with JOGL 2.0 (it supports both OpenGL and OpenGL-ES). Keep in mind that it is not trivial.
The emulator of Android SDK is quite slow but you just have to enter adb install my_file.apk to install your application.
You can run android-x86 in VirtualBox or Live Android from a Live CD as Dimitri suggested but I'm not sure it is what you want.
P.S: The most promising solution seemed to be AndroVM.
P.S 2: ARChon Runtime works very well on 64-bits systems. This tutorial is very helpful to make it work.
P.S 3: App Runtime for Chrome Welder is even more promising, it's currently in beta. The final version will support all Android APIs in Google Chrome under GNU Linux (including Chrome OS), Mac OS X and Windows.
I know there is a project for porting Android on x86 platform. You can find iso to download and you can install on LiveCD : http://code.google.com/p/live-android/. You can find more information here
You can't just run Android apps - you will need the entire underlying Android operating system. That goes beyond a simple JVM. EDIT: There is actually a project in the works that aims to do that, see Dimitri's link.
But you're in luck - the Android SDK comes with an emulator that should fulfill your needs (although it's a bit on the slow side - if you're developing Android apps, you definitely want to use a physical device instead). The SDK is available here.
Run Bluestacks on Windows on VMWare on Linux. Easy.
Since Eclipse can run in Linux and this tablet has the new Honeycomb (Linux Kernel), can Eclipse IDE run in Android Honeycomb ?
I know that isn't pretty much comfortable coding in a tablet, but I'd want to use for UML modeling.
Android (despite its Linux roots) is far from capable of running Eclipse IDE as is. Not only is the hardware inadequate for supporting such a large application, but Android lacks a full Java SE JVM (Dalvik is a subset) and SWT (Eclipse UI framework) implementation for native Android UI controls does not exist. On Linux, SWT implementations exist only for GTK and Motif.
You may be interested in project Orion, which is an effort at eclipse.org to create Eclipse-like experience in the browser. I understand that people have been able to use Orion from a mobile browser on devices such as the one on the iPad.
http://mmilinkov.wordpress.com/2011/01/11/introducing-orion/
No you can't.
But who forbid you to connect to your computer using VNC? You can access your Eclipse or whatever application you want.
You can't run Eclipse but you can try AIDE:
https://market.android.com/details?id=com.aide.ui
It is compatible with the Eclipse project file format, has a fast editor with syntax highlighting and supports the full edit-compile-run cycle.
1.) The latest Android tablets ARE now powerful enough to run software like the Eclipse IDE in fact they are more powerful than the Intel and AMD processor machines that Eclipse was originally developed to run on.
2.) The tablet is a useful tool for graphical modelling techniques and the addition of an external wireless keyboard can improve input of code in a text editor.
3.) There is a lack of support for Java SE runtime for Android.
4.) Limited Android root access on the standard commercially supplied Tablets make it impossible to access OS features and install, compile or access development tools without additional 3rd party applications.
5.) AIDE does provide a method to write and run code on Android but the free version is extremely limited and the commercial (paid) version is nowhere near as powerful or comprehensive as the freely available Eclipse for Windows or Linux.
You can use DroidDevelop.
DroidDevelop allows to create native Android application on your mobile device. You don't need to install Android SDK, Eclipce and an other desktop program for Windows or Linux to start programing for Android.
https://market.android.com/details?id=com.assoft.DroidDevelop
http://en.assoft.ru/droiddevelop
Short answer, no.
Long answer, although Honeycomb is based on Linux, you'd have to do a lot of hacking to get to the point where you can have a full blown IDE installed on it. Android works with apps. There isn't an Eclipse app, so you can't have Eclipse.
There was actually a version of Ubuntu for Android, you could do the Ubuntu install for Eclipse on your tablet if you were running it.
As for running Eclipse on an android OS? Not so much since Android has no real JVM.
The Eclipse downloads page lists packages for Windows, Linux, and Mac OSX.
Android is not listed as one of the supported OSes for installation of the IDE.
Are you talking about actually running Java code with Eclipse APIs on the device? It's not impossible, but you will be doing most of the work yourself. The difficult part will be getting SWT to run and appear as native Android objects while supporting the full range of controls that Eclipse users expect.
There have been Eclipse projects in the past to get a workable subset of the APIs to run in an embedded space. One such project was eRCP, by IBM. I'm not aware of any activity to make a similar effort on Android, but there's no requirement to announce such work to the Eclipse community.
Its not possible to install Eclipse directly to Android OS but you can run Eclipse on your Tablet via Linux Deploy Application. But first you need to get Linux setup on your Android and use VNC viewer for display. That's how I did it.
See screen shot of Linux on Android running Eclipse.