minSdkVersion maxSdkVersion targetSdkVersion target 的区别
minSdkVersion
描述:app最低支持的sdk版本号
作用:如果手机SdkVersion小于app中定义的minSdkVersion,则android系统不允许安装该app
定义位置:AndroidManifest.xml
默认值:1
检测时机:app安装
maxSdkVersion
描述:app最高支持的sdk版本号
作用:如果手机SdkVersion大于app中定义的maxSdkVersion,则android系统不允许安装该app
定义位置:AndroidManifest.xml
默认值:无
检测时机:app安装(Android 2.0.1之后不再检测)
targetSdkVersion
描述:目标SdkVersion
作用:标识在指定的SdkVersion已做充分测试,Android系统不会针对此版本进行兼容处理
如果targetSdkVersion=16的app跑在SdkVersion=16的手机上,则Android系统不会做任何兼容处理,从而提高了性能
如果targetSdkVersion=16的app跑在SdkVersion=17的手机上,则Android系统需要做兼容处理以保障app仍然以16的特性运行
如果targetSdkVersion=16的app跑在SdkVersion=15的手机上,可能会出现错误,所以至少要保证app在minSdkVersion的手机上测试通过
定义位置:AndroidManifest.xml
默认值:minSdkVersion
检测时机:运行时
target
描述:build target
作用:编译、构建工程时使用的SdkVersion
定义位置:project.properties
默认值:无
检测时机:编译生成 .apk
附Android平台SdkVersion
描述:Android SDK 版本
查询:手机设置 - 关于手机 - Android版本
Android平台版本(Build.VERSION.SDK)、API版本(Build.VERSION.SDK_INT)和版本代号之间的关系: