I've been developing casual iPhone/iPod Touch games touch for about two years. I'd like to port some games to the Android platform. Since I'm stuck w/ a two year iPhone contract I don't want to get an Android phone that requires a service plan. What is the best phone to get for development in this situation?
-
2\$\begingroup\$ I like this question but I'm worried any answer would be extremely temporal - contracts and phone models change quickly these days. \$\endgroup\$– user744Commented Dec 8, 2010 at 20:22
-
2\$\begingroup\$ It also completely ignores the question of country... \$\endgroup\$– MrCrankyCommented Dec 9, 2010 at 17:14
-
\$\begingroup\$ I'm voting to close as too localized. In five months, the list of phones in the accepted answer has completely changed. \$\endgroup\$– user744Commented May 16, 2011 at 11:33
6 Answers
Updated September 2011.
To develop on Android, you need many devices for two reasons:
- Screen Size (from 1280x800 to 320x240)
- Hardware platform: GPUs and CPUs
But if you need one, buy a Nexus S (S or One), because it is an official Google Phone. You will have GingerBread (Android 2.3). And you must know that Debug on NDK with Android is bugged. You can't debug easily multi-thread programs (OpenGL). There is a fix in NDK r6 ( or r5) but its needs a Gingerbread phone. For HoneyComb dev (Tablet), you need a Tegra2 device (or OMAP 44x0).
To check your Android games, i recommend to have one device per GPU family at minimum.
So in September 2011, I recommend to have these phones:
- Galaxy S or Nexus S (for PowerVR 540 and Android 2.3.3)
- Galaxy S2 (for Mali 400)
- HTC Sensation or HTC EVO 3D (Andreno 220 + 960x540) or Sony Ericsson Xperia Play (Andreno 205 + GamePad)
and these tablets:
- Motorola Xoom, Acer Iconia, Asus transformer, Galaxy 8.9 or 10.1 (Tegra2 + Honeycomb)
- Archos G9 or Galaxy 7.7 (OMAP 44x0)
But, i check on these devices too:
- HTC Desire HD, Z or S (Andreno 205)
- Nexus One (Andreno 200); I aim framerate > 25fps on this device
Outdated devices:
- Droid (PowerVR 530): GPU is too slow
- A101IT archos (tablet resolution 1024*600) performance is very low
- Spica, Moment, Naos & Taos: OpenGL are so bugged... to be compatible with these devices you should verify each OpenGL command;
- HTC G1, HTC Magic or HTC Hero: if you plan to develop OpenGL ES 1.x, verify on these devices
- Wildfire (small resolutions)
I'm one of developper of Moblox (a featured Android game) and i needed all these phones. If you don't use OpenGL, you can have only one Phone and check with Emulator. For HoneyComb, the emultator is so slow that i recommend a real device.
Ps: i made a collections of OGL 2.0 extensions on this page
ps2: my gpubench can give hints about GPU on Android (results)
Changelog
- September 2011: add tablets, move Droid and A101G8 in outdated devices
- May 2011: move Spica in outdated devices
-
1\$\begingroup\$ This is a good example of what I'm talking about with temporality - Google no longer sells the Nexus directly, and no longer has any official hardware support for it. (google.com/support/forum/p/android?hl=en) \$\endgroup\$– user744Commented Dec 8, 2010 at 21:51
-
\$\begingroup\$ Nexus One is available in Europe. And Gingerbread will be quickly available (before any other phones). \$\endgroup\$– EllisCommented Dec 8, 2010 at 22:53
I think you can buy most motorola phones without a contract. If you did want to use them they would only work on Verizon. Like you can probably buy the Droid 2 by itself.
The Moto Droid seems to be a decent benchmark to go by, as most android phones coming out now either match or exceed its specs, and the Droid is one of the more popular android phones out there currently. You can find unlocked Droids on ebay for ~$100. One of the nice things about android is you can develop and test on any android phone, so if you know anyone with an android phone (when you want to test on different handsets), you can just connect, deploy, and test.
what about HTC Desire? I search a lot about android phone, Moto XT720 has a good price, but it's ROM is too old, even haven't Android 2.2. Buy a Android phone is very confused me...
I suggest you get at least two phones. An older model like HTC G1, HTC Magic or Samsung Spica (or generally something with the lowest specs you want to support), and a newer model like Nexus or HTC Desire. Ideally you would like to test your game on as many phones as you can get (See Ellis answer) but not everyone could afford that many phones. This setup gives you basic coverage which can be improved by testing on friends phones for example. If you're game isn't too complex and you got a good development computer you can get even away with using the emulator in early stages of development.
Actually I came across a device that was custom built for just developing android games on it. Been a while since I have worked with android.. Here is the link.
-
\$\begingroup\$ What is the developmental advantage of using this phone over using a normal phone? \$\endgroup\$ Commented Dec 9, 2010 at 18:32
-
\$\begingroup\$ Well from what I have seen... This is not a phone... Its totally a development kit for android atleast thats how they market it... With the psp gaming phone coming to the market, this device pretty much is the closest one can get to start developing games for the same form factor and testing them before they actually get the PSP phone in their hand! Links: dev.odroid.com/projects/odroid hardkernel.com/store.php \$\endgroup\$– ShouvikCommented Dec 10, 2010 at 7:20