I am looking to buy an Android phone to test my first Android app on.

What things should I pay attention to to make sure I pick the most suitable device?

  • 3
    Welcome to Programmers! I edited your question to make it more about learning how to choose the right device instead of focusing on a specific shopping choice. You can then evaluate your options against the answers here and decide if the phone you picked is a good choice. See this blog post for more information.
    – Adam Lear
    Sep 8, 2011 at 15:32
  • 1

5 Answers 5


Are you aware of the Android Developer phone? It could be a good starting point. You can find information on testing your app on hardware at:



Unfortunately one device will not be enough to do testing. In companies developing Android apps you will have numerous devices, as there are some bugs that are limited to few models.

Your choice of phone depends on you target audience. For example if you're targeting early adopters, your choice will probably be one of the "lead devices". However things working on these might not work on older ones, like for example there are still enormous amounts of Android 1.6 devices out there, not to mention 2.1 devices.


Writing from the perspective of someone who occasionally works on Android apps in my spare time, which I think is similar to your situation (or your situation when you originally wrote the question):

The bare minimum I would go with is two phones: a new phone and an old phone.

I would review the application carefully, paying attention to the minimum API level the code requires. For instance, you may be using functionality that requires API level 14, and so your app won't run on devices running very old versions of Android. Your old phone should then be something that is running the Android version corresponding to exactly that API level. Keeping the device on an old version is important; I've caught issues where something that was supposed to be supported in one API level actually wasn't supported until the next higher API level. For instance, I have an old Droid Pro running Gingerbread laying around, for apps that need to run on very old devices and very small screens, and only need API level 10 or lower.

Your new phone doesn't necessarily need to be showroom new, but it does need to be running the latest version of Android, whatever it is at the time. This means you'll want a Google phone of a recent vintage. I currently use a Nexus 6, and now that Pixel phones are out, I'll be upgrading to one of those soon. Bonus points if you enroll your phone in the Android Beta Program to get pre-release Android versions on your device to test your app against. This program requires a Google phone.

Nexus 6 enrolled in the Android Beta Program

For extra credit, also get an old tablet with its Android version chosen as above. I've got an old Motorola Xoom that originally shipped with Honeycomb, if I ever need to test that far back. (Hasn't happened yet, but you never know.) And of course a tablet running a recent version of Android, again preferably a Google device enrolled in the Android Beta Program. Though I'm personally not using one of these yet.

Be prepared to buy a popular device, if you start getting numerous bug reports from users of that device. Especially if you're developing paid apps, you'll want to plan and budget for this. But I don't recommend buying a popular phone in advance; a Google device and careful emulator testing will give you adequate coverage, and if device-specific bugs occur, they'll probably be on a device other than the one you would have chosen. So I think buying before you need it is wasted money. You might also sometimes be able to fix such bugs without buying the device.

And don't forget SIM card size adapters, for putting your nano SIM card into older devices which used larger SIM cards.

Over time, if you're anything like me, you'll naturally collect Android devices the way other people collect stamps, coins and Pokémon. But be aware that you'll never be able to test on every possible device. Just do the best you can with what you have.


If I developed for Android I'd get me a dedicated device which is relatively powerful, easy to root and easy to reflash. This would give me more ability to test my app in various conditions, especially user-reported conditions, on real hardware.

Of course you'll test your apps on several emulators: different Android versions, screen sizes, presence/absence of hardware buttons, all the things you can't change easily on a physical phone. But an emulator can't tell you much about how usable your app is in daily use, while a physical phone is something you can carry around to field-test your app.

And certainly enoug you'll be asking your Android-owning friends and willing beta-testers to run your app on various devices they have. It's hardly imaginable to actually own all of the hundreds of devices that run Android.


I see two ways to choose device for you:

A. If you have no statistic from previous version of app.

You should buy device from potentially most popular group of devices for your future app.


  1. Use statistic from android site (developer.android.com/about/dashboards/index.html) choose group that most interesting to you.
  2. Go to http://choosedevice.com group android devices in the same way.
  3. Find selected group from step 1.
  4. Choose device from the list of devices for your group

B. If you have statistic for your app.

You should find device to cover as more android users as possible for your project.


  1. Find most popular devices for your project (for example using google analytics)
  2. Group those devices by parameters on choosedevice.com
  3. Find most popular groups
  4. Find most popular devices in each group

So you should buy device from step 4, which will cover more android users than other.

  • choosedevice.com is broken link Mar 6, 2018 at 16:26

Not the answer you're looking for? Browse other questions tagged or ask your own question.