Google Play 在应用清单中通过声明的<uses-sdk>属性,用以从不符合其平台版本要求的设备上过滤应用。

uses-sdk在androidManifest.xml文件中,语法为:

<uses-sdk android:minSdkVersion="integer"

android:targetSdkVersion="integer"

android:maxSdkVersion="integer" />

通过整数形式的API 级别来表示应用与一个或多个版本的 Android 平台的兼容性,具体来说就是将应用表示的 API 级别与给定 Android 系统的 API 级别进行比较,进行版本控制。

系统版本与API的级别对应关系如下表:

原表来自:https://developer.android.com/guide/topics/manifest/uses-sdk-element

版本

对应版本

版式本代号

Android 10.0

28

Q

Android 9.0

28

PIE

Android 8.0

26

OREO

奥利奥

Android 7.0

24

NOUGAT

牛轧糖

Android 6.0

23

MARSHMALLOW

棉花糖

Android 5.1

22

LOLLIPOP_MR1

棒棒糖

Android 5.0

21

LOLLIPOP

棒棒糖

Android 4.4W

20

KITKAT_WATCH

威化饼

Android 4.4

19

KITKAT

威化饼

Android 4.3

18

JELLY_BEAN_MR2

果酱

Android 4.2
Android 4.2.2

17

JELLY_BEAN_MR1

果酱

Android 4.1
Android 4.1.1

16

JELLY_BEAN

果酱

Android 4.0.3
Android 4.0.4

15

ICE_CREAM_SANDWICH_MR1

冰淇淋

Android 4.0
Android 4.0.1
Android 4.0.2

14

ICE_CREAM_SANDWICH

冰淇淋

Android 3.2

13

HONEYCOMB_MR2

蜂巢

Android 3.1.x

12

HONEYCOMB_MR1

蜂巢

Android 3.0.x

11

HONEYCOMB

蜂巢

Android 2.3.4
Android 2.3.3

10

GINGERBREAD_MR1

姜饼

Android 2.3.2
Android 2.3.1
Android 2.3

9

GINGERBREAD

姜饼

Android 2.2.x

8

FROYO

冻酸奶

Android 2.1.x

7

ECLAIR_MR1

奶油酥饼

Android 2.0.1

6

ECLAIR_0_1

奶油酥饼

Android 2.0

5

ECLAIR

奶油酥饼

Android 1.6

4

DONUT

甜甜圈

Android 1.5

3

CUPCAKE

纸杯蛋糕

Android 1.1

2

BASE_1_1

Android 1.0

1

BASE

android:minSdkVersion

用于指定应用运行所需最低 API 级别。 如果系统的 API 级别低于该属性中指定的值,Android 系统将阻止用户安装应用。 该属性是要求必须声明的。

如果不声明该属性,系统将假定默认值为“1”,这表示应用将兼容所有 Android 版本,则允许在所有的Android系统上安装。

但如果应用其实并不兼容所有Android系统版本,并且您尚未声明正确的minSdkVersion,则应用将在运行时尝试访问不可用的 API 时发生崩溃。

示例:如果某个应用使用的API在Android系统5.0以上才有,即API级别为21。

则minSdkVersion需要等于21或者以上。

android:targetSdkVersion

用于指定应用的目标 API 级别。如果未设置,其默认值与为minSdkVersion指定的值相等。

该属性用于通知系统:应用已针对目标版本进行测试,并且系统不需要启用任何兼容性行为来保持应用与目标版本的向前兼容性。

android:maxSdkVersion

指定作为应用设计运行目标的最高 API 级别。

在 Android 1.5、1.6、2.0 及 2.0.1 中,系统会在安装应用以及系统更新后重新验证应用时检查该属性的值。 在任一情况下,如果应用的maxSdkVersion属性低于系统本身使用的 API 级别,系统均不允许安装应用。 系统更新后重新验证的情况下,就可能会将应用从设备中移除。

Google官方并不建议声明该属性。

示例:

Google Play 上发布了一个应用声明:maxSdkVersion="5"

用户:Android系统版本为1.6(API 级别 4),下载并安装了该应用。

几周后用户更新系统到Android 2.0(API 级别 5)。此时应用仍可以正常工作,因为系统检查该应用的maxSdkVersion为5,用户的系统可以满足。

再过一段时间后,用户更新系统到Android 3.0(API 级别 11)。 更新完成后应用无法工作了,因为此时系统检查到本身的 API 级别 (11) 已超过该应用支持的最高级别 (5)。 系统会使该应用对用户不可见,这实际上相当于将它从设备上删除。

Android SDK的级别相关推荐

  1. 百度推送 android7.1,【SDK版本更新】Android SDK 5.7.1

    [SDK版本更新]Android SDK 5.7.1 2017-07-19 Change Log: 1. 优化PushService竞争逻辑,提高服务稳定性: 2. 新增失败日志上传,用于优化绑定流程 ...

  2. Android SDK版本和ADT版本

    Android早期的版本号有点"混乱",比如Android 2.2对应的ADT版本为ADT-0.9.9 而Android 2.3对应的的ADT版本则突然"跃迁" ...

  3. Android SDK版本号 与 API Level 对应关系

    转自:https://blog.csdn.net/qiaoquan3/article/details/70185550 Android SDK版本号 与 API Level 对应关系 新接触Andro ...

  4. 伪mac android,Mac,android sdk,monkey压力测试,真机

    1.安装Android SDK http://down.tech.sina.com.cn/page/45703.html 新浪本地下载 安装android sdk,将android-sdk-macos ...

  5. android开发环境搭建(ubuntu15.04+jdk8+eclipse+android sdk)

    开始学习android开发,首先对其环境对搭建比较重要.平台可以选择window/linux/mac等,这里,我选择ubuntu系统,方法比较原始,当然也可以直接用google提供的android s ...

  6. android sdk build tools 版本,SDK Build Tools 版本说明

    Android SDK Build-Tools 是构建 Android 应用所需的一个 Android SDK 组件,安装在 /build-tools/ 目录中. 您应始终让 Build Tools ...

  7. Android sdk platform,sdk tools,sdk Build tools,sdk platform tools 的关系

    1. sdk platform 简单理解为系统版本 最新级别: 28:Android 9 27:Android 8.1 26:Android 8.0 25:Android 7.1 24:Android ...

  8. android 设置打印级别

    https://www.csdn.net/gather_27/MtTakg4sNjY3Ni1ibG9n.html 一.LK层: 首先,在LK中,有一个对log打印级别的控制文档,其路径一般为:vend ...

  9. 【Android -- SDK】高德地图的使用

    文章目录 1. 简介 2. 获取高德 Key 3. 准备 4. 地图 5. 定位 6. Poi搜索 1. 简介 高德地图 Android SDK 是一套地图开发调用接口,开发者可以轻松地在自己的And ...

  10. Android SDK各个版本API的特性及兼容性(Dalvik/ART)

    Android最新support包v4,v7,v13,v14,v17等 - http://download.csdn.net/download/u012808234/9502763 Android A ...

最新文章

  1. Java项目:校园人力人事资源管理系统(java+Springboot+ssm+mysql+jsp+maven)
  2. Java核心技术卷1——笔记(1)
  3. LIB和DLL的区别与使用,非常详细
  4. python脚本实例手机端-用Python实现自动化操作Android手机
  5. CODE 大全网站整站源码分享(带数据库)
  6. jenkins gitlab php,jenkins(8): 实战jenkins+gitlab持续集成发布php项目(代码不需要编译)...
  7. echarts 堆叠树状图排序
  8. 简易 IM 双向通信电脑端 GUI 应用——基于 Netty、WebSocket、JavaFX 、多线程技术等
  9. 遇到的JDBC的一个问题
  10. django request对象和HttpResponse对象
  11. 快速配置Maven到OSChina中央库的教程
  12. mybatis-generator 根据表生成对应文件
  13. 最短路+状压DP【洛谷P3489】 [POI2009]WIE-Hexer
  14. ppt地图分布图一块一块的怎么做_没想到PPT还能这样做动态地图,实在是太炫酷了,用了再也离不开...
  15. 安卓网络测试工具_【网速】最佳手机网速测试工具
  16. 图解 Excel 添加数据透视表
  17. 【ASP.NET】swfuplod图片上传
  18. android rom打包解包工具,Android ROM定制:boot.img、recovery解包打包
  19. 2020年中国轴承套圈行业市场现状分析,国内市场格局十分分散「图」
  20. 干货 | Spark Streaming 和 Flink 详细对比

热门文章

  1. 常见协议RFC对应表
  2. python读书心得体会范文_读书心得体会范文6篇
  3. 逆腹式呼吸-用气发力气先行
  4. matlab/simulink电力电子仿真斜坡信号Ramp设置和使用
  5. Cocoa Touch基础
  6. 使用sikuli测试web网页实例
  7. Python使用百度地图API实现地点信息转换及房价指数热力地图
  8. 个人博客百度统计中恶意刷无关关键词解决方案
  9. 爬取某在线恶意软件仓库病毒文件进行分析
  10. Go语言开发第1课-环境搭建及简单程序入门