Do I need to uses always the last targetSdkVersion?

Seraphim's picture Seraphim's · Feb 18, 2013 · Viewed 18.1k times · Source

Simple question: In Eclipse "New Android project" command always tries to uses last available sdk. Is it always a good idea?

UPDATE:

I try to explain. Now in Eclipse, "New project" produces a manifest with:

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />

So, target to the last Android (Jelly Bean, 4.2.x) but it can run also on Froyo (2.2). It's ok for me. What could I do very wrong with this choice?

UPDATE

Is it ok if I set android:minSdkVersion="8" + android:targetSdkVersion="17" and the build target to 2.2 to be sure my app will run on older devices (no NoSuchMethodError exception)?

Answer

CommonsWare picture CommonsWare · Feb 18, 2013

What could I do very wrong with this choice?

There is nothing wrong with this choice, which is why the build tools default to it.

Setting the targetSdkVersion opts you into specific behaviors that you might not get with an older targetSdkVersion. You can see some of what you get by reading the documentation for Build.VERSION_CODES.