SDK最低版本 minSdkVersion
以最低版本设置值为标准,OS拒绝将应用安装在系统版本地狱标准的设备上。
SDK目标版本 targetSdkVersion
告知Android,应用是设计给哪个API级别去运行的。有时候因为种种原因要降低目标版本,但可以保证的是,即便在高于目标版本的设备上,应用仍可正常运行,且运行行为仍和目标版本保持一致,这是因为新发布的版本中的变化已经被忽略。
SDK编译版本 compileSdkVersion
该设置不会出现在清单文件中,但在AS项目Module的build.gradle中可以看见并设置,Eclipse在设置中设置。在编译代码时,SDK编译版本或编译目标指定具体使用的系统版本。编译器在寻找类包导入语句中的类和方法时,编译目标确定具体的基准系统版本。
安全添加新版本API中的代码
如minSdkVersion为8,compileSdkVersion为17,那当代码中调用API 11的方法时,编译不会报错,但应用在低于API 11的设备上运行到这段代码时,应用崩溃,因为该设备找不到对应的方法。
解决方法:
- 将minSdkVersion提升至代码中需要的最高的API级别,但这就代表兼容不了低于该API的设备。
- 将调用高于minSdkVersion的API方法的代码置于检查Android设备版本的条件语句中。