【Android】Android 的 API 以及 AndroidManifest.xml 中的配置 uses-sdk

Android应用开发之扫描二维码和条码的SDK及API 阅读详情

API级别是什么?(What is API Level?)

API级别是一个整数值,它唯一标识了一个具体版本的Android平台,及其框架的API的版本。

Android平台提供了一套框架API,使得应用程序可以与系统底层进行交互。该框架API由以下模块组成:

  • 一组核心的包和类
  • 清单(manifest)文件的XML元素和属性声明
  • 资源文件的XML元素和属性声明及访问形式
  • 各类意图(Intents)
  • 应用程序可以请求的各类授权,以及系统中包含的授权执行

每个Android平台的后续版本会包括它提供的更新的Andr​​oid应用程序框架的API。

该框架的API的更新设计,使高版本的API与早期版本兼容。也就是说,在新版本API中大多数都是新增功能,和引进新的或替代的功能。作为API的部分升级,老的替换的部分已过时,但不会从新版本中删除,使得已有的应用程序仍然可以使用它们。在极少数情况下,旧版本API的部分可能被修改或删除,通常这种变化是为了保障API的稳定性及应用程序或系统的安全。所有其他早期版​​本的API将不做修改的保留。

一个Android平台提供的框架API,被指定一个整数标识符,称为“API级别”。每一个版本的Android平台只支持有一个API级别,虽然该支持是隐含地包括了所有早期的API级别(一直到API级别1级)。 Andr​​oid平台的最初版本提供的框架API级别是1级,随后的版本依次递增。

下表说明了具体平台版本和支持的API级别的对应关系。

平台版本

API级别

Android 3.0

11

Android 2.3.3

10

Android 2.3

9

Android 2.2

8

Android 2.1

7

Android 2.0.1

6

Android 2.0

5

Android 1.6

4

Android 1.5

3

Android 1.1

2

Android 1.0

1

 

 

在Android中使用API级别(Uses of API Level in Android)

API级别标识为保证用户和应用程序开发者的最佳体验,起了关键作用:

  • 它让Android平台可以描述它支持的框架API的最高版本
  • 它让应用程序可以描述它需要的框架API版本
  • 它使得系统可以在硬件设备上安装应用程序时能够检查版本是否匹配,使得版本不兼容的应用程序不会被错误安装在设备之上.

每个版本的Android平台都在其内部存储了自己的API级别标识。

应用程序可以用框架API提供的清单文件元素 — <uses-sdk> 来描述该应用程序可以运行的最小和最大API级别,以及应用程序开发者设计期望运行的平台版本。三种属性分别描述如下:

  • android:minSdkVersion — 指明该应用程序可以运行的API最低版本。默认是“1”。
  • android:targetSdkVersion — 指明该应用程序设计时期望运行的目标API版本。在某些情况下,这允许应用程序使用目标API级别下定义的清单元素或行为,而不是只限于使用最低API级别定义的内容。(译者注:android之targetsdkversion的理解---兼容性问题)
  • android:maxSdkVersion — 指明该应用程序可以运行的最高API级别。重要声明: 使用该属性之前请阅读<uses-sdk>文档。

比如,要指明一个应用程序能够运行的最低API级别,应当在该应用程序的清单文件的<uses-sdk>元素中加入android:minSdkVersion属性。android:minSdkVersion的值是一个正整数,对应的是该应用程序能够运行的最低平台的API级别标识。

用户尝试安装一个应用程序,或者在系统升级后重验证应用程序的时候,Android系统首先会检查应用程序的清单文件中的<uses-sdk>属性,将其与系统内部API级别对比。系统只有在满足下列情况时才允许进行应用程序安装:

  • 如果声明了android:minSdkVersion属性,其属性值必须小于或等于该系统的API级别对应的整数值。如果未声明,系统会默认该应用程序运行需要的最低API级别是1。
  • 如果声明了android:maxSdkVersion属性,其属性值必须等于或大于该系统的API级对应的整数值。如果未声明,系统会默认该应用程序没有最高API级别限制。请通过阅读文档<uses-sdk>以获得系统如何处理该属性的更多信息。

应用程序清单文件中声明该属性后, <uses-sdk>元素看起来应类似于下面的例子:

 

这样做的主要原因是,应用程序会通过android:miniSdkVersion声明的API级别来告知系统——该应用程序使用的API是指定引入的API级别。假如没有这种属性声明,一个应用程序如果因为某些不知名的原因被安装在低级别API系统之上,那么该应用程序会在运行时因为尝试访问不存在的API而崩溃。为此,Android系统通过不允许应用程序被安装在不满足其最低API级别要求的目标硬件上来防止此类结果发生。

例如,android.appwidget类包是在API级别3中开始引入的。如果一个应用程序使用了这个API,就必须通过指明android:minSdkVersion属性为3来声明运行的最低要求。于是,该应用程序就可以在Android 1.5(API级别3级)、Android 1.6 (API级别4级)等平台上安装,但是在Android 1.1 (API级别2级)和 Android 1.0 平台(API级别1级)上却是无法安装的。

Android Studio – 使用百度地图SDK教程 Android Studio – 使用百度地图SDK教程 一.Android Studio创建签名 我们在使用Android Studio进行应用的发布时要进行签名,此百度经验将通过一个应用的签名过程教大家如何签名。http://jingyan.baidu.com/article/a24b33cd7086d719fe002b8c.html 二.准备百度map需要的签名和包 阅读详情

相关推荐

AndroidManifest.xml常用标签属性介绍

AndroidManifest.xml常用标签属性介绍

是阿超 2587

AndroidMainfest.xml详解——<uses-sdk>

语法:<uses-sdk android:minSdkVersion="integer" android:targetSdkVersion="integer" android:maxSdkVersion="integer" />包含它的文件:<manifest> 说明: 您可以通过整数形式的 API 级别表示应用与一个或多个版本的 Android 平台的兼

o190847959的专栏 1976

Oracle EBS Interface/API(42) -AP发票客制化付款申请

背景 在OA系统上,选择Oracle EBS的某张AP发票做付款申请,需要类似于锁定该发票以便付款,其他用户或者下次用户不能再次选择该发票做付款申请。 快速参考 参考点 内容 功能导航 N: AP->Invoices->Entry>Invoices 并发请求 None 基表 AP.AP_INV_SELECTION_CRITERIA_ALLAP.AP_SELECTED_INVOICES_ALL API 参考下面介绍 错误信息表 None 接口Form

陈显平的专栏-Oracle EBS 1200

Android中AndroidManifest.xml uses-sdk警告

问题:在android开发中AndroidManifest.xml 中的uses-sdk警告 "Not targeting the latest versions of Android; compatibility modes apply. Consider testing and  updating this version. Consult the android.os.Build.VERSI

追求卓越 964

如何构建一个 AI 驱动的数据分析系统

在现代数据分析中,将 AI 引入数据分析系统中可以极大提升效率和自动化程度。本文将从架构设计、工具选择、实现步骤等多个方面进行详细说明,帮助你构建一个 AI 驱动的数据分析系统。

晴天彩虹雨的博客 703

24. SAP UI5 应用如何使用 OData 数据模型

本教程之前的二十三个步骤,使用的数据模型都是 JSON 模型。从本步骤开始,我们要学习另一种非常重要的数据模型:OData 数据模型。 OData 数据模型也是 SAP 产品里广泛使用的数据模型,比如 SAP S/4HANA,SAP CRM Fiori 应用等等,都使用的是 OData 数据模型而不是 JSON 数据模型。 使用 OData 数据模型的典型场景就是,通过 OData 模型提供的 Read API,将远端服务器上存储的数据通过 OData 协议读取到客户端,并显示在 SAP UI5 应用里。.

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 5797

Android compileSdkVersion 升级到33

应用兼容的SDK API最低版本,若手机系统低于minSdkVersion将无法安装;AndroidStudio中写代码时调用的API,若在兼容的版本区间中部分版本不存在,则开发者需要做版本判断来做兼容性处理,否则AndroidStudio会提示错误的,没法正常通过编译。选择用来编译的SDK版本,只影响编译过程,完全不影响实际运行过程。实际运行中,调用哪个版本的API代码取决于手机的系统版本 以及 targetSdkVersion。表明APP最高支持到哪个系统版本的特性,即使App中调用了更高版本系统新特性

u010194271的博客 8949

高并发网络爬虫实践(欧赔、亚盘、大小指数数据爬取)

本文通过对一个实战化的高并发网络爬虫脚本进行深度模块化剖析,展示了如何构建一个兼具性能、健壮性和易用性的数据采集工具。核心设计思想总结模块化与单一职责: 每个函数都专注于解决一个特定问题,无论是网络请求、数据解析还是文件操作。并发与效率: 通过ThreadPoolExecutor实现了高效的并发抓取,极大缩短了总耗时。健壮性与容错: 强大的重试机制、细致的异常处理和线程安全的文件写入,保证了程序在复杂网络环境下的稳定运行。断点续传: 精心设计了进度记录与恢复机制,使得大规模抓取任务变得轻松可控。

猫敷雪 480

AndroidManifest.xml 详解 (六) 之uses-sdk—— 译自《Beginning Android Games》

我们要写入manifest文件的最后一个元素就是。它是的子元素。在第二章创建Hello World项目的时候,在New Android Project对话框中,通过指定Android SDK 的最小版本,我们已经使用了元素。      但是我们怎么在中指定它呢?这有个例子:

meichen8050753的专栏 5015

开源模型应用落地-qwen模型小试-入门篇(二)

在windows环境下,使用transformer设置模型参数/System Prompt/历史对话

以微薄之力,予他人些许温暖. 3234

【Claude】媒体文件处理错误:PDF 与 Image 过大的检测与预处理方法 bug报错已解决

图片压缩是必须的:原始图片的 base64 会占用大量 TokenPDF 提取文本优于传图片:文本版 PDF 比扫描版更省 Token分块处理大文件:不要一次性处理整个大文件控制分辨率:800x800 通常足够 Claude 分析。

博客 6359

Android编程中manifest中<uses-sdk>

每次在查看manifest文档时,对于下面的几个参数不甚了解,现在查看了官方文档。语法是这样的: <uses-sdk android:minSdkVersion="integer" android:targetSdkVersion="integer" android:maxSdkVersion="integer" />解释:通过指定API

公众号shadow sock7 753

基于多智能体架构的AI模拟法庭系统:律师案件预演的革命性工具

多智能体系统(Multi-Agent System)是人工智能领域的重要分支,它通过多个自主或半自主的智能体协同工作,模拟复杂的社会交互与决策过程。其核心原理在于分布式问题求解,每个智能体具备感知、推理和行动能力,通过通信与协作实现整体目标。在工程实践中,多智能体架构的价值在于能够模拟真实世界中的信息不对称与策略独立性,从而在复杂决策场景中提供更贴近现实的推演。这一技术正被应用于法律科技领域,通过构建物理隔离的智能体环境,模拟法庭对抗中的信息屏障与策略博弈。例如,在AI模拟法庭系统中,原告、被告、法官等角色

weixin_42561249的博客 393

Application does not specify an API level requirement”解决办法

Application does not specify an API level requirement”解决办法 [2010-05-28 19:03:03 - rss_reader]WARNING: Application does not specify an API level requirement! [2010-05-28 19:03:03 - rss_reader]D

qq_16959405的专栏 437

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

android 储存权限xml,重学AndroidManifest.xml manifest和权限

AndroidManifest.xml 是 Android开发中最常用的配置文件,之前一直没有认真了解过,现在来对它的配置做个总结。概述每个应用项目必须在项目源设置的根目录中加入 AndroidManifest.xml 文件(且必须使用此名称)。 AndroidManifest.xml会向 Android 构建工具、Android 操作系统等描述应用的基本信息。manifestmanifest是A...

weixin_34205814的博客 1776

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Android修行手册 - AndroidManifest.xml中常用的一些标签属性介绍

专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)

空名先生 2238

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Android开发——初步了解AndroidManifest.xml

摘要:AndroidManifest.xml是Android应用的核心配置文件,包含应用包名、组件声明、权限设置等关键信息。主要功能包括:声明唯一包名、注册四大组件(Activity/Service等)、请求权限、指定SDK版本、定义硬件需求。示例配置展示了两个Activity的声明,其中MainActivity作为启动入口,并包含数据备份、主题样式等进阶配置。该文件采用XML格式,通过<application>和<activity>等标签定义应用属性,是Android系统识别应用结

charlie114514191的博客 1338

AndroidManifest.xml 详解之uses-sdk—— 译自Beginning Android Games

每一个Android SDK 版本号都对应一个整形数字。指定了我们应用所支持的最低Android SDK版本号,和我们应用所使用的版本号。       元素允许配置我们的应用,一个低版本的android sdk开发,而能够在最新的android系统上运行(向上兼容)。一个突出的例子就是多点触控APIs,多点触控在SDK 5(Android 2.0)或以上版本才能够被支持。当我们在Ec

蓝斯的专栏 2904

android之AndroidManifest.xml简述

AndroidManifest.xml文件是Android系统重要的权限申请和定义配置文件,程序员在开发时需要通过其来向系统预先定义和申请应用程序运行所需要的权限。灵活、安全地使用该配置文件是Android安全保障的一个不可忽视的方面,本文对AndroidManifest文件进行详细介绍。   了解AndroidManifest.xml文件的主要用途 AndroidManifest.xm

by2n的专栏 1459

AndroidManifest.xml文件详解

AndroidManifest.xml文件详解 AndroidManifest.xml文件是Android系统重要的权限申请和定义配置文件,程序员在开发时需要通过其来向系统预先定义和申请应用程序运行所需要的权限。灵活、安全地使用该配置文件是Android安全保障的一个不可忽视的方面,本文对AndroidManifest文件进行详细介绍。

苏白的专栏 9753

Android 的 SDK Level 对应的安卓版本号

Delphi FireMonkey 编译为 Android APP 的时候,工程文件夹底下有一个文件:AndroidManifest.xml 这个文件里面有这样的描述: &lt;uses-sdk android:minSdkVersion="19" android:targetSdkVersion="26" /&gt; 这里声明了这个 APP 可以安装的安卓版本号。这里的 19 和 26 是...

pcplayer的博客 9322

AndroidManifest.xml文件配置教程及相关指令详解

        我们在进行APP开发的时候都会遇到一个文件:AndroidManifest.xml。         AndroidManifest.xml的官方解释是应用清单(manifest意思是货单),每个应用的根目录中都必须包含一个,并且文件名必须一模一样。这个文件中包含了APP的配置信息,系统需要根据里面的内容运行APP的代码,显示界面。 AndroidManifest.xml文件主...

Dhane的博客 4421

AndroidManifest.xml文件详解(uses-sdk)

AndroidManifest.xml文件详解(uses-sdk) 分类: 学习笔记2012-05-30 08:17 853人阅读 评论(0) 收藏 举报 语法(SYNTAX): android:minSdkVersion="integer"            android:targetSdkVersion="integer"           android

autumn20080101的专栏 585

安卓AndroidManifest.xml介绍

先说一下,我的开发环境为Eclipse 3.7.1 + Android SDK + Android 1.5(API level3) Android最大的一个特点,就是用xml文件来配置,这个演习了Java的特点。所以,理解Android程序,同时需要理解xml文件。 我们写程序,需要关注AndroidManifest.xml,和res/layout下的xml文件以及res/v...

aihuanyou6758的博客 145

android基础知识13:AndroidManifest.xml文件解析

注:本文转载于:http://blog.csdn.net/xianming01/article/details/7526987  AndroidManifest.xml文件解析。 1、重要性         AndroidManifest.xml是Android应用程序中最重要的文件之一。它是Android程序的全局配置文件,是每个 android程序中必须的文件。它位于我们

阿良的专栏 1万+
上一篇: 【PHP】php错误类型
下一篇: 【PHP】php文件上传和下载
三生石1103
博客等级 码龄12年 16粉丝 87原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值