What is the fastest Android SDK setup? - android

What is the best platform and setup for running Android SDK? It is so slow that I cannot stay focused on it.
If I had any hardware resources at my disposal and cost wasn't an issue, what should I do?
Also, is there some sort of cloud SDK host that can provide a faster experience. (Security isn't a concern. Just need to debug web sites.)

I have really bad experiences with running on Mac software so, aside from special cases, I would avoid mac hardware (yes I know they are seperate things, but still).
In my experience a VMWare virutal unbuntu in OSX runs Eclipse/javaSDK faster then just directly in OSX, on the same machine.

I had a very similar problem, my development machine is old and slow and Eclipse was killing it. I recently switched to IntelliJ Idea and it is much faster. I suggest at least giving it a shot. It has really good support built in for the Android SDK including logcat.

Related

What other emulators work with Eclipse?

I have about had it with Eclipses emulator and its bugs/lack of power.
are there any emulators you guys suggest?
I would prefer one I could install on my PC (In a VM or on a USB stick or something) on a separate partition or whatever needs to happen.
I would prefer one that can go online but really, anything but the default I would love.
I have also tried Blue Stacks, I don't really like it.
You asked a lot of questions, and the answer is complicated based on your specific needs.
If you have an Intel Processor (and don't play to use Google services - like location, or GCM) - the HAXM emulator is great. It is included in the standard SDK, and works well.
There are many ways to optimize the standard emulator, so don't necessarily dismiss it. There are a variety of ways to configure it to be more powerful. It may not be perfect, but it works well (if you take the time to learn how to set it up optimally - most people do not).
Another alternative is Genymotion. This is a 3rd party, and they basically have optimized the emulator experience already, and done a lot of the dirty work for you. They also provide some of their own emulator management tools. I used it in early days, and found it buggy, but it is being constantly updated (recently updated, to remove the ability to use Play Services, like GMail, or Play Market - I am sure Google forced this, and is a bummer). Overall, this is a good tool, and probably a good suggestion.
Lastly, a lot of people use a physical device for development, which is generally pretty good. It supports Google, and Play services already, performs like a real device, and interfaces with the SDK tools well.
Every Android emulator will be able to connect to the Internet, so that is not a differentiator.
You can do what you want, but the documentations specifically states that you shouldn't try to run an emulator from Network attached storage (I would guess USB would not work well). You could create a separate partition, won't make a difference for any of these choices.
Bottom line, there are lots of options, learn a bit about the standard tools before abandoning them. They work well (if you learn how to use them properly).
You could consider moving over to android studio. It's based around the intellij Idea IDE and has a fantastic emulator compared to eclipse. It emulates in real time in the xml editor which saves a lot of time running the program.
Alternatively you could buy a cheap android phone over ebay or something similar and use it as an emulator. This is what I tend to do as I prefer to see it working on a multitude of devices.

android minimum hardware specs for dev machine - can i code using a notebook?

So far I have been developing directly on my galaxy nexus and nexus 7 using the amazing AID app.
However, as the N7 can't provide logs due to it being jelly bean, i feel the need to get a mini notebook in order to utilise adb logcat.
My main worry is that something with only 1gb (2gb if i upgrade, which i will) and a 1.5-1.83GHz atom CPU won't be powerful enough.
I can possibly get around certain worries by not using emulators and testing directly on my two devices, so that will save me a great deal. Also I am tempted to just use vim and command line tools instead of eclipse which again might save me from a slow PC.
What do you guys think? Is the notebook way under powered? What if i just use vim and no emulators?
Side note, does anyone actually code in vim/command line?
something with only 1gb (2gb if i upgrade, which i will) and a 1.5-1.83GHz atom CPU
will work just fine, as long as you're not planning to run a tablet emulator. I sometimes have to work at my Asus EEEPC with the same exact CPU and I've got no problems so far
It is doable with 1gb RAM and using vim/commandline tools. However, eclipse provides a project wide perspective which is hard to duplicate in vim (vim power users may be as productive, if not more though). So in terms of memory 1, 2gb RAM will be fine. Testing on devices is always better than emulators.
One thing else though, a commandline build with multiple module dependency is non-trivial to setup and maintain. This is because Google has historically been modifying the build.xml file, breaking existing build scripts fairly regularly. So if you are well versed with build script internals and prepared to work on them you should be ok.
Debugging Android apps without Eclipse based breakpoint debugging support may be a significant issue too. Some bugs are caught in a lot lesser time with this. So plan accordingly if you don't want to use Eclipse.
Eclipse also provides very good JUnit/Robotium support for writing test cases, You won't get this with vim.
As I wrote down these points I think running Eclipse in 2gb notebook should be possible (just don't run other apps with doing development) and thus is recommended.
I have extensively used vim just not for Android development. You can also install vim plugin for eclipse if you prefer that.
Modern notebook hardware certainly is capable for software development; in fact, many (hobbyists as well as professionals) use a notebook as their main development platform.
However, with a mini / ultra-small form factor, you'll pay more for a less capable machine. Unless you need extreme mobility, I would suggest a standard notebook, with a little extra money spent on RAM (8+ GB) and an SSD. (Then, neither big IDEs nor emulation is out of scope.) If money is an issue, you can still get clunky-looking, but fairly powerful 15" or 17" laptops.
i think you Configuration is good enought to run Eclipse , Myself i had to Remove some Composant on my PC beacause we have 1 PC for Work/Internet/Eclipse and 1 PC for Gaming Etc ... , iam using Galaxy S2 and dont use Emulator many times , Yes i have some Slow Down some Time , but try Eclipse with the Minimal Configuration and No Emulators but Upgrade to 2 GB i have myself 2 GB Here and DUal Core E5200
Yeah that's under powered. For a windows PC I'd want 4gb of ram, not sure about Linux but atoms are dog slow either way.
I'm sure it'll work but it won't be fun, I'd be most worried about disk speed as that's what drives me nuts most.
I'd also take advantage of the ide and all its nice features too

Mobile development(Android & iOS) beginner needs guidance

So, I recently took a job where I need to develop a fairly simple notification app on both iOS and Android. I've never done mobile development, besides a hello world in Android and some very basic stuff in Objective-C. I've never really programmed Java either, but it shouldn't be hard for me to learn enough to make these apps. Here's where I need help:
I need to find the best way to get started, I want to have Android and iOS developing environments up and running by the end of the day. My desktop broke leaving me with only a ubuntu system, however I can install different operating systems if need be. Could somebody show me how to get everything set up nicely? I want to have both of these environments set up before I begin to learn the code necessary, this way I can determine if it will be beyond my abilities and I can tell my employer that he should find another guy.
I am most comfortable in windows, however use ubuntu on a daily basis as well, and would consider myself averagely competent with it. Is iOS development impossible without running os x? Could I run an os x virtual machine if need be?
Sorry for all the questions, I thank anybody that is willing to offer me some help.
EDIT: I am just going to add that I have an android device(Tmobile Samsung Galaxy S2), and an iOS device(Old iTouch), in case this makes any difference.
Ubuntu will work just fine for Android Development. You're going to need a machine with Mac OS for iOS development.
You can always run a Windows machine and get two Virtual Boxes for Mac OS and Ubuntu.
For Android:
You'll need to download the Android SDK and then get an IDE of your choice. Android has a Plug in with Eclipse. You can use Netbeans or whatever.
http://developer.android.com/index.html
Go to this website and follow their instructions.
For iOS you'll need to Download XCode and then they explain everything for that.
There's really not all that much to set up. You may want to add the SDK tools to your path so that you can run them from your command line but that's about it.
Download and code.
As far as I know, for iOS development you need xcode, so on a virtual machine, yes it should work.
My first advice is to begin with the technology you know the most, which seems, in your case to be Objective-C.
Do the first app using Objective-C and after go for Android.
Windows or Ubuntu has no importance for Android development, you could use Eclipse and the emulator provided by the SDK, or better, an Android phone.
To set up your development environment just follow :
Android : http://developer.android.com/sdk/installing.html
iOS : https://developer.apple.com/devcenter/ios/index.action
The developer.android.com has nearly everything you need to know about android development. The recommended IDE is Eclipse, it has a great plugin for managing the virtual devices and using the SDK.
http://developer.android.com/sdk/installing.html
That should cover everything you need for setting up the environment for android.
The XCode IDE for IOS is only available for OSX.
For cross development you can look at something like MonoTouch, which lets you write C# that works on both android and IOS.
For Ios developent u require mac os on which u can need to install Xcode and ios simualtors.
For Android developend u need to install Eclipse and emulator sdk
Android:
Windows,Mac or ubuntu is ok.The Eclipse IDE will work in all.
iOS:
Mac.The IDE xcode will work only in this OS.
Only mac system believe me don't try the Virtual machine,stuffs like that it won't work.I've personally experienced so many problems with the VM thing
The problem is mac os needs higher configurations which our normal laptops and desktops won't support and trying hackintosh is also tiresome and eventually you'll end up wasting lots of time
so if you want to spend less money only then you can try mac-mini
Android & iOS:
Buy Mac product this is the only reasonable way
Nowadays the best variant for developing for both platforms(iOS, Android) is using Mac product with MacOS where you can install necessary IDE(Xcode, Android Studio...) and simulators and emulators

How to Improve Performance of the Android Emulator

I'm getting started with Android development, but the emulator performance on my machine leaves much to be desired. In all fairness, my machine is not a powerhouse by any stretch of the imagination.
Short of upgrading my hardware or spending $$$, are there any good tips for improving Android emulator performance?
Is testing on your own phone an option? That is a million times faster.
Also, are you "debugging" or "running" your app? If you don't need to step through code, consider running it rather than debugging it.
If you haven't added 2.2 to your toolbox, that will help. Once it's started, emulated 2.2 runs a bunch faster than emulated 2.1.
I still go back and test my applications on the older OSes, but for day-to-day development 2.2 has helped a lot.

Android emulator is based on QEMU. Can I use KVM with it?

My laptop supports hardware virtualization (AMD SVM) and I know that:
QEMU can make use of hardware virtualization through KVM;
The Android emulator is very much based on QEMU
Natural question follows: can I combine the two (Android+KVM) to get improved performance in the emulator?
Yes, you can. Just download the appropriate Intel atom CPU packages in the Android SDK and have your AVD use an Intel atom CPU architecture. The android emulator can even use the host gpu. Here is a link on how to do it:
http://developer.android.com/tools/devices/emulator.html#acceleration
You can run Android-x86 in QEMU with KVM (or even in VirtualBox). I'm not sure how easy it would be to set up for development but it should run quite a bit faster. Also, Intel are working on getting Android on their x86 chips so this will hopefully become easier in the future.
Update: I managed to get it working in VirtualBox, except some sites crash the web browser. Since I was making a web app, this was not helpful. It was much faster than the standard Android emulator though,
You can try to use AndroidVM - http://androvm.org/blog/ ... In my testing you can have Hardware OpenGL and Rotation Support as well (this is slightly convoluted but everything is explained on the AndroidVM page).
In my experience this is miles better than the Android SDK Emulator, at least on Windows and Mac.
For Linux, you should be able to use VirtualBox for Linux to use AndroidVM. Since it is an OVA file mainly, you should be able to use other Virtualisation clients as needed.
What's interesting is that this is NOT emulating ARM, it is Android on x86... which has pros and cons, but definitely helps in not having to buy a ton of devices if you can do initial testing of various sorts on virtual machines, since Android 4.1 is generally not too heavily modified by manufacturers across ARM and x86 phones and tablets, etc (IMO).
Not closely related to the answer you are after, but
use Run when you work on your interface, or as much as possible while coding (it's a lot faster compared to Debug, even 10 times faster)
try to minimize the Debug runs, learn to code perfect, so use less Debug.
probably you already know, you don't need to close the Emulator for each run session, so keep it open.
restart Eclipse after hour of usage, but keep the Emulator open. It's faster to restart Eclipse than the Emulator.
set Eclipse to remember the last run project, so the launch is done via just one click
Google TV emulator which is targeted at x86 supports KVM mode virtualization.
ARM is not there yet. I believe it's currently work-in-progress.

Categories

Resources