0

The current distribution of Android versions across devices is found in:

http://developer.android.com/about/dashboards/index.html

I'm about to create an app (which isn't a game) and I'm wondering whether I should create three different versions of it: one for ICS and higher, one for Froyo, Gingerbread and Honeycomb, and one for Eclair and Donut. I feel that this is a very bad idea but I want to make the most out of the newer OSes without having to sacrifice compatibility with the lower Android versions, for which there is perhaps a simpler approach, say, for the UI.

Any thoughts? How would seasoned Android developers approach this?

1
  • 1
    You definitely don't want to create a separate .apk for each individual platform. The Android docs strongly encourage you bundle everything in one .apk. This reduces the amount of work required on your end in maintaining your app. Commented Jul 9, 2012 at 4:14

2 Answers 2

3

You can use the support library, which allows you to use ICS features like fragments on earlier Android platforms.

You should consider which platforms are worth supporting. For instance, current data suggests that Donut represents about 0.5% of the current market.

If you're going to make the app available through Google Play, it supports multiple .apk files for a single app, targeting different api levels. This does create a bit of a maintenance headache for you, though, and I would recommend against it. Also, other markets (like Amazon's Appstore) don't support multiple .apk files per application; you'd have to publish as two separate applications.

You should also read the docs on supporting different platform versions. It provides guidance on this topic.

Sign up to request clarification or add additional context in comments.

Comments

2

Generally, no. There are ways to take advantage of newer OS features, so unless the core functionality depends on something that is already available on ICS, do a single app. There are libraries that backport ICS functionality to older versions (Android compatibility library, ActionBarSherlock, etc.), so you can get most things on all platforms. You can use different resources (layouts, images) to cover for screen size/density, etc. differences between devices.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.