安卓版本兼容问题出现的背景是由于安卓随着版本不断的更新,会不断的增加API和废弃一些旧版本的API,而市面上手机安装的安卓操作系统版本不一致,就会导致安卓版本的兼容问题。
平时开发中需要注意一下几点:
1、我们开发的APP尽可能先满足市面上绝大部分机器的使用。(实用性原则)。
2、了解清单文件中这两个属性minSdkVersion和targetSdkVersion的含义,minSdkVersion表示APP最低支持的安卓版本,通常这个值尽量越低越好(满足实用性原则为前提),targetSdkVersion表示最高支持版本,这个值通常设置为当前最新安卓版本的API等级。
3、安卓提供Build类可以获取当前运行环境的安卓版本,通过分支加载不同的代码块来实现版本兼容问题,比如:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
{
// 包含新API的代码块
}
else
{
// 包含旧的API的代码块
}
总结:
实际开发中一般把compileSdkVersion设置为android:compileSdkVersion一样,这样看来我们开发的app兼容范围就是:minSdkVersion至targetSdkVersion, 那么这三种配置理想情况应该是
minSdkVersion (lowest possible) <= targetSdkVersion == compileSdkVersion (latest SDK)
来源:oschina
链接:https://my.oschina.net/u/920274/blog/3059158