Do I need to uses always the last targetSdkVersion

2019-02-12 08:01发布

问题:

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)?

回答1:

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.



回答2:

If you want to develop applications for an older version, it is not a good idea. You can always check what the most used version is and make your application against that version. In some cases it is needed to use the latest version because some functionality is not yet implemented in an older version.



回答3:

You can read more about it here: http://developer.android.com/guide/topics/manifest/uses-sdk-element.html

But you should almost always have target as the latest and then change minimum to the oldest you want.