As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened,
visit the help center for guidance.
Closed 8 years ago.
I am considering writing an Android app, and I see that the SDK is available for both Windows and Linux. My system dual boots, so I can go either way, but I'd like to know if there are any differences between the two versions that would impact my development process (and if so, what they are).
Please note that I do not intend to start a discussion about which OS is a better choice.
Google TV emulator works only on Linux because of the KVM module.
Some scripting or complex command line operations are not available on Windows (see Running multiple adb commands with python Popen or os.system)
I've developed Android applications in both platforms. So far, the main difference I've seen is that under Windows you need to install a USB driver whereas in Linux you don't.
Other than that the experience is pretty much the same.
Hope this helps.
Android development on windows or linux?
The emulator is fairly slow on all operating systems.
Linux might have an edge for "obscure case" development (especially for large or intricate projects with the ndk) since the desktop environment better matches that of the device itself and is the natural home of the toolchain. But if you get stuck, you can run the obscure tools in a linux VM.
The SDK and on the surface NDK are intended to be platform neutral, so ideally the developers' personal preference or organizational support capabilities would dominate the choice - ie, the intent is that windows shops can do android while remaining windows shops.
Android projects should be entirely portable - unless you rely on additional authoring tools, you should be able to change development host operating systems fairly easily. Though any time you switch machines you need to decide if you are going to move the signing keys or not.
Actually, there is a difference between these two systems.
First of all, it should be mentioned that if you're going to develop parts of Android (AOSP) then your choice is definitely Linux (Ubuntu).
But even if you develop only Android applications it easier to work in Ubuntu then in Windows. For instance, it's easier to build applications that use NDK.
So in my case I prefer Ubuntu.
The real answer is both. If you are writing apps for use on the marketplace, then you can generally get away with either machine, but if you are building apps that are for use inside of an enterprise and/or targeting specific devices then you will need both. I have found in real world development that many devices simply do not have drivers that work with any flavor of unix (especially cheaper devices) but work find on Windows. I would recommend installing the sdk and eclipse on both systems, sticking your working folder on a dropbox cloud, and then depending on what comes your way in terms of projects you are good to go. I personally operate in this exact manner on a MAC using a WIN7 VM. My preference is Mac, so I am in there most of the time.
Good Luck.