分享

6.2Android编程权威指南(第3版)

 nxhujiee 2020-03-14

Android版本兼容、最低版本、目标版本、编译版本

原创 甜甜小蜜桃 最后发布于2018-12-18 17:49:47 阅读数 605 收藏
发布于2018-12-18 17:49:47
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

在这里插入图片描述
Android SDK与版本兼容
各种设备迟缓的版本升级再加上Google定期的新版本发布,给Android编程带来了严重的兼容性问题。对于增量版本,向下兼容一般问题不大。主要版本向下兼容才是大麻烦。也就是说,仅支持5.x版本的工作量不大,但需要支持到4.x的话,考虑到这么多不同版本的差异,工作量就相当大。Google提供了一些兼容库,大大降低了开发难度。

SDK最低版本minSdkVersion
以最低版本设置值为标准,操作系统会拒绝将应用安装在系统版本低于标准的设备上。例如,设置版本为API 19级(KitKat),便赋予了系统在运行 KitKat 及以上版本的设备上安装GeoQuiz应用的权限。而在运行诸如Jelly Bean版本的设备上,系统会拒绝安装GeoQuiz应用

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

SDK 编译版本compileSdkVersion
SDK最低版本和目标版本会通知给操作系统,而SDK编译版本只是你和编译器之间的私有信息。Android的特色功能是通过SDK中的类和方法展现的。在编译代码时,SDK编译版本(即编译目标)指定具体要使用的系统版本。Android Studio在寻找类包导入语句中的类和方法时,编
译目标确定具体的基准系统版本。编译目标的最佳选择为最新的API级别。当然,需要的话,也可以改变应用的编译目标。例如,Android新版本发布时,可能就需要更新编译目标,以便使用新版本引入的方法和类。

PS:可以修改build.gradle文件中的SDK最低版本、目标版本以及编译版本。修改完毕,项目和Gradle更改重新同步后才能生效。选择Tools → Android → Sync Project with Gradle Files菜单项,项目随即会重新编译。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多