Hopefully these guidelines will help you choose which device to get for Android development.
Someone was asking on the Android Enthusiasts forum: Will an Android phone connect to Wi-Fi and download apps without a subscription? When I was answering this question, I was thinking to myself – the best way to get into developing apps on iOS is to do it on an iPod Touch. Likewise, the best way in my opinion to get into developing apps for Android is to do it on a WiFi-only device. – something that connects to WiFi, doesn’t cost too much and most importantly, will not interfere with your normal communications.
If you’ve already got an Android phone:
I’ve already got an Android phone you say. Why don’t I just develop on that? You can. Just like an iPhone developer can develop on their iPhone. However, what if you want to install a userdebug build or change some settings on the device for development or testing that makes it behave differently? You run the risk of messing up your phone, at least in the short term, and losing phone calls, texts, etc.
Still, using your existing Android phone is probably the most straightforward way to develop if you’ve already got an Android handset. After all, when I started in Mac development, I developed on the Mac that I had.
You still will probably want to get other handsets though, because you won’t be able to test on different platform versions and as you can see by the chart below, there are a lot of them in the wild currently.
If you don’t have an Android phone:
Option 1. Cheap, coverage of 2.2 or 2.3:
Buy a prepaid phone from a carrier like Virgin Mobile, but don’t activate it (unless you want a lower phone bill.)
A good choice right now is the LG Optimus Slider, which will give you a test device for Android 2.2, aka Froyo. Froyo at the time of this writing still holds 12.9% of the market, which is substantial, while earlier versions represent less than 4% of the market. It also gives you test coverage for slider keyboards, which will give you some interesting behavior.
Another good choice is the LG Optimus Elite, which runs on Android 2.3, aka Gingerbread. Gingerbread is the heavyweight in the arena, representing 55.8% of all devices in the Android universe. If your primary Android phone isn’t on 2.3, you should definitely get this or another 2.3 device.
Option 2. Premium, Nexus, Google Experience, coverage of 4.0 or 4.1:
Once upon a time, you had to spend $529 to get an unlocked Google Experience device. And you had to go to Best Buy to get it. That was the Samsung Nexus S, which still remains an interesting device, mostly because you can use flash it with factory images to test 2.3, 4.0, and 4.1. You could say it is the doppleganger of the Android world. However, it is relatively pricey.
The device to get right now is the Samsung Galaxy Nexus, available direct from Google for $349. This is probably the best Android phone on the market, fast, smooth and with the pure Google Experience. Galaxy Nexus (or GNex) runs 4.1 right now, but you can flash it with a factory image back to 4.0.
Why should you get a Nexus device?
You should get one because it doesn’t have any sort of manufacturer skin that could slow you down, nor carrier added apps, nor carrier locked bootloaders. They also tend to have additional developer-friendly features and benefits. Many of the proprietary drivers are available for including in custom ROMs. Factory images are available for Nexus devices, meaning that if you want to re-install a specific platform level, say go back and test on 4.0, it is easy to do so. Also if you create a custom ROM and it doesn’t work, you can get it back to its factory default using the factory image, where other phones could be bricked.
Density – the LG Optimus phones I mentioned are mdpi or medium density, the baseline (1x). Nexus S is hdpi or high density (1.5x). Galaxy Nexus is xhdpi or extra high density (2x).
GPS – all the suggested support GPS, which is useful for apps that require location.
NFC – except for the LG Optimus Slider, the others support NFC, which is a consideration if your app will utilize NFC. Be careful when installing the battery as most of the NFC antennas are in the back case.
Speed – LG Optimus Slider is the slowest, followed by the LG Optimus Elite, then the Nexus S and Galaxy Nexus is the fastest. While Galaxy Nexus will be pleasant to work with, using a slow device is actually useful because it will help you identify places where your apps are noticeably slow.
Connectors – all these devices thanksfully use a standard microUSB connector.
How many devices should you have?
If you can afford it, it is best to have at least one of each Android platform level that your apps are targeting. Currently, 2.2+ gives you 96% of the market, which means 4 devices: 2.2, 2.3, 4.0, 4.1. However, start with what you have and build from there as needed. Fill in the gaps with emulator configurations, aka AVDs (Android Virtual Devices).
What about tablets? I’ll cover those in the near future, but the short answer is: buy a Nexus 7 direct from Google. It is a Nexus device, it runs the latest (4.1 Jelly Bean), and is a bargain at $199.