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 name Android版本 版本发布时间 对应API    
(no code name) 1.0  2008年9月23日 API level 1  
(no code name) 1.1  2009年2月2日 API level 2  
Cupcake 1.5  2009年4月17日 API level 3,NDK 1
Donut 1.6  2009年9月15日 API level 4,NDK 2
Eclair 2.0.1 2009年12月3日 API level 6  
Eclair 2.1  2010年1月12日 API level 7,NDK3
Froyo 2.2.x 2010年1月12日 API level 8,NDK 4
Gingerbread 2.3 – 2.3.2 2011年1月1日 API level 9,NDK5
Gingerbread 2.3.3 – 2.3.7 2011年9月2日 API level 10  
Honeycomb 3.0  2011年2月24日 API level 11  
Honeycomb 3.1 2011年5月10日 API level 12,NDK 6
Honeycomb 3.2.x 2011年7月15日 API level 13  
Ice Cream Sandwich 4.0.1 – 4.0.2 2011年10月19日 API level 14,NDK 7
Ice Cream Sandwich 4.0.3 – 4.0.4 2012年2月6日 API level 15,NDK 8
Jelly Bean 4.1 2012年6月28日 API level 16  
Jelly Bean 4.1.1 2012年6月28日 API level 16  
Jelly Bean 4.2-4.2.2 2012年11月 API level 17  
Jelly Bean 4.3 2013年7月 API level 18  
KitKat 4.4 2013年7月24日 API level 19  
Kitkat Watch 4.4W 2014年6月 API level 20  
Lollipop(Android L) 5.0/5.1 2014年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.1 2017年12月5日 API level 27  
Pie (Android P)          
不是凤梨酥(PineappleCake)        
9 2018年8月7日 API level 28      
Android的版本,有个API Level,对应着某个Android发布版本的名称。      

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

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

 

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

你可能感兴趣的:(安卓,android小咖秀)