在新建一个 android project 时,要求输入 minSdkVersion 这一项,一般是指定使用的 SDK 版本相一致的 API Level. 然后,在androidManifest.xml 文件中会有一个对应的属性:android:minSdkVersion .那这个属性就决定了本程序最低兼容的android系统版本。 由于andrid系统是向下兼容的,也就是说,高版本的SDK会兼容低版本的SDK 举例说明: 1. 新建一个 Android Project (HelloAndroid), 指定为 Android 2.2 版本,对应的 minSdkVersion 填8,finish; 2. 此时我们运行 HelloAndroid ,会运行一个 2.2 版本的模拟器。 3. 假若现在去 AndroidManifest.xml 文件 中修改 android:minSdkVersion=7,再次运行,那么会在已经打开的 2.2 模拟器上运行。因为 Android API 都是向后兼容的,所以系统在编译时,这个 Project 是利用 2.1 版本来编译的,但也可以在 2.2 模拟器上运行;若先把 2.2 模拟器关闭,再运行 HelloAndroid 这个Project 的话,那么会新建一个 API Level=7 的 模拟器来运行这个程序(也就是 2.1模拟器)。 4. 假若修改 android:minSdkVersion=10, 那么无论是否打开了 2.2 版本的模拟器,都会报错: ERROR: Application requires API version 10. Device API version is 8 (Android 2.2). Launch canceled!
按照android平台分布比例,2.2及以上占比重为95%,2.1及一下只占到5%左右,因此,大可抛弃2.1以下的机型