Android各版本发布时间及对应API(2019.3.2截至Android最新版本 P)minSdkVersion maxSdkVersion targetSdkVersion target区别

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节.

简单来说,就是一套可供调用的系统接口.

比如地图类API—百度地图API,应用类API—豆瓣API,系统自带的WI-FI API和多媒体API。

以下是Android主流版本、发布时间和对应的API level:

Android Beta,发布于2007年11月5日,同时的软件开发套件(SDK),发布于2007年11月12日。 11月5日被认为是Android的"生日"。
Android版本名称Code nameAndroid版本版本发布时间对应API  
(no code name)1.0 2008年9月23日API level 1 
(no code name)1.1 2009年2月2日API level 2 
Cupcake1.5 2009年4月17日API level 3,NDK 1
Donut1.6 2009年9月15日API level 4,NDK 2
Eclair2.0.12009年12月3日API level 6 
Eclair2.1 2010年1月12日API level 7,NDK3
Froyo2.2.x2010年1月12日API level 8,NDK 4
Gingerbread2.3 – 2.3.22011年1月1日API level 9,NDK5
Gingerbread2.3.3 – 2.3.72011年9月2日API level 10 
Honeycomb3.0 2011年2月24日API level 11 
Honeycomb3.12011年5月10日API level 12,NDK 6
Honeycomb3.2.x2011年7月15日API level 13 
Ice Cream Sandwich4.0.1 – 4.0.22011年10月19日API level 14,NDK 7
Ice Cream Sandwich4.0.3 – 4.0.42012年2月6日API level 15,NDK 8
Jelly Bean4.12012年6月28日API level 16 
Jelly Bean4.1.12012年6月28日API level 16 
Jelly Bean4.2-4.2.22012年11月API level 17 
Jelly Bean4.32013年7月API level 18 
KitKat4.42013年7月24日API level 19 
Kitkat Watch4.4W2014年6月API level 20 
Lollipop(Android L)5.0/5.12014年6月25日API level 21/API level 22
Marshmallow(Android M)6.0 2015年5月28日API level 23 
Nougat(Android N)     
Nougat(Android N)     
7.0      
7.1     
         2016年5月18日    
         2016年12月    
API level 24     
API level 25     
Oreo(Android O)8.0 2017年8月22日API level 26 
Oreo(Android O)8.12017年12月5日API level 27 
Pie (Android P)     
不是凤梨酥(PineappleCake)    
92018年8月7日API level 28   
Android的版本,有个API Level,对应着某个Android发布版本的名称。   

使用Android Studio的开发者可以简单查看对应的API level,参考方法如下:

 

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

检测时机:运行时

 

targetSdkVersion:适配的版本

compileSdkVersion:编译的版本

buildToolsVersion:构建工具版本

 

大家看单词应该知道是什么意思,我也不做过多介绍了,但是有一点需要注意是,这三个版本应该都要是同步的

 

targetSdkVersion = 28

compileSdkVersion = 28

buildToolsVersion = '28.0.3'

 

targetSdkVersion = AB

compileSdkVersion = AB

buildToolsVersion = 'AB.XX.XX'

  

target

描述:build target

作用:编译、构建工程时使用的SdkVersion

定义位置:project.properties

默认值:无

检测时机:编译生成 .apk

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值