Is anyone keeping track of the best hardware software development environment for Android/Eclipse development ?
I personally don't think there is any specific hardware that would make developing for android THAT much better. I would suggest a computer though that is running windows 7 and has a minimum of 6gbs of RAM
Windows 7 and 6GB+ of RAM for development.
Have an SSD on your desktop for holding the emulator images. Without an SSD emulator startup time is crazy...
Related
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
This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
Slow Android emulator
is it my computer's hardware limitation? it has 1024 megabytes of ram 2200 x 2 dual core amd cpu i can't develop any android. the emulators are heavy what can I do? i download old sdk and newer ones but it still the same.
You could try using the x86 (Atom) system image it's faster than the arm images
See this link for more info
I have much better PC than you and even I have difficulties with emulating some OpenGL ES applications that I develop for android.
You must understand that emulating a CPU which is different than current architecture is very hard to do and as such very hard to do very optimized. Running machine code for ARM on x86 must bring some delays in running it. Conversion and repacking back and forth.
I would rather try to use your own Android device for testing and debuging purposes instead of emulator. It runs in real time and it will be better for you if you don't want to upgrade your CPU and RAM.
1 gigabyte of ram isn't enough. Eclipse alone would take up almost a two-thirds of that
(mine takes up 900mb - tweaked in eclipse.ini), and a 2.2 Emulator on HomeScreen would take up about 200mb. Unless you don't open anything else while coding - firefox, chrome (that ram sucker of a browser), mail client, chat client, etc., you're only a pinch below the limit.
The best you can do outside of upgrading memory is to run emulator in QVGA (in AVD Manager, click on your virtual device, click edit, under Skin, change Built-in to QVGA. But it would only do so much - you need at least 4 gig to go smoothly with all other apps open.
This question already has answers here:
Closed 11 years ago.
Possible Duplicate:
Why is the Android phone simulator so slow?
Hi, I am new to Android development, and I wonder why the Emulator loads so slowly, especially when I create an emulator for Android 4.0 apps.
Usually this is tied directly to the speed of your development system. Increase the amount of RAM, disk speed, processor cores etc. and you'll see a noticeable improvement.
Also, check out this question for some more information.
It's slow because it runs Android on emulated hardware (an ARM CPU, IIRC). So you're running a complete virtual machine, not just a sandboxed OS. And since it emulates a single-core machine, having multiple cores on your development box doesn't help much. You're better off with a dual-core 3.5GHz machine than a 4-core box running at 2.5GHz.
Android Emulator is the virtual Device of android OS. It takes ram and Memory from the host OS that why the ram and the memory is shared by the Emulator.
As because it is slow in process.
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.
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.