在任何情况下,你应该在适当的清单文件中定义minSDK和targetSDK。当你编译例如API 19(KitKat)并且你设置为minSDK API 10时,所有东西都应该在2.3.3 Android上运行。
但是,如果您在代码中使用了一些方法,那么在2.3.3上不可用的常量,您将在Eclipse中看到警告/错误(我也在Android Studio中下注)。例如:
if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.JELLY_BEAN_MR2) {
// before JELLY_BEAN_MR2 code;
// methods, constants available for example from API 1
} else {
// after JELLY_BEAN_MR2 code
// here are new methods,constants available from GINGERBREAD_MR1 and after
}
所以在这里你的应用程序在两个不同的方式取决于它是在...运行如果您不API编译Android版本将执行什么等于或JELLY_BEAN_MR2的更高,你不会即使能够编译,因为之前,常量JELLY_BEAN_MR2在API中不可用...但是,当您使用更高API编译时,所有内容都将被正确编译,并且应用程序可以在早期版本中正常工作。
如果您保留这样的代码,警告将在调用方法之前出现,但是@SuppressLint(“NewApi”)应该将其删除,而不会再有问题。
希望它帮助,它现在很清楚..;)
干杯