android学习笔记——Android SDK版本与兼容

所有的设置都保存在应用模块的build.gradle文件中。编译版本独占该文件。虽然低版本和 目标版本也设置在该文件中,但它们的作用是覆盖和设置配置文件AndroidManifest.xml。

打开应用模块下的build.gradle文件,可以查看compileSdkVersion、minSdkVersion和 targetSdkVersion的属性值 。以低版本设置值为标准,操作系统会拒绝将应用安装在系统版本低于标准的设备上。

目标版本的设定值告知Android:应用是为哪个API级别设计的。大多数情况下,目标版本即 新发布的Android版本。

什么时候需要降低SDK目标版本呢?新发布的SDK版本会改变应用在设备上的显示方式,甚 至连操作系统后台运行行为都会受影响。如果应用已开发完成,应确认它在新版本上能否如预期 那样正常运行。查看http://developer.android.com/reference/android/os/Build.VERSION_CODES.html 上的文档,检查可能出现问题的地方。根据分析结果,要么修改应用以适应新版本系统,要么降 低SDK目标版本。 降低SDK目标版本可以保证的是,即便在高于目标版本的设备上,应用仍然可以正常运行,且 运行行为仍和目标版本保持一致。这是因为新发布版本中的变化已被忽略。

标为compileSdkVersion的是SDK编译版本设置。该设置不会出现在 manifest配置文件里。SDK低版本和目标版本会通知给操作系统,而SDK编译版本只是你和编 译器之间的私有信息。

在编译代码时,SDK编译版本(即编 译目标)指定具体要使用的系统版本。Android Studio在寻找类包导入语句中的类和方法时,编 译目标确定具体的基准系统版本。 编译目标的佳选择为新的API级别。


安全添加新版本 API中的代码
现在在老版本系统上调用新版本代码时,潜在问题在编译时就能被发现。也就是说,如果使用了高版本系统 API中的代码,Android Lint会提示编译错误。

该怎么消除这些错误信息呢?一种办法是提升SDK低版本到21。然而,提升SDK低版本 只是回避了兼容性问题。如果应用不能安装在API 19级和更老版本设备上,那么也就不存在新老 系统的兼容性问题了。因此,实际上这并没有真正解决兼容性问题。 比较好的做法是将高API级别代码置于检查Android设备版本的条件语句中。

猜你喜欢

转载自blog.csdn.net/qq_40104617/article/details/82628923