android(安卓)最简单明了解释版本控制之MinSdkVersion、CompileSdkVersion、TargetSdkVersion

news2025/1/23 13:50:22

1、先明白几个概念

(1)平台版本(Android SDK版本号)

平台版本也就是我们平时说的安卓8、安卓9、安卓10

(2)API级别(API Level)

 Android 平台提供的框架 API 被称作“API 级别”

(3)平台版本与API级别的对应关系

2、版本参数配置

(1)MinSdkVersion

该参数表达的是要兼容的最低API级别,MinSdkVersion设置的值,代表最低兼容API级别,比这个级别低的手机就不支持安装该APP。

举个例子:假如现在最新出的安卓版本是Android13(API级别33),那我们想市面上的手机是不是有五花八门的,版本也是各不相同,有的是Android11(30),有的是Android10(29),有的是Android6(23),那我们要怎么兼容呢,兼容到哪一个API级别呢?

API每一次的升级可能会增加一些方法、属性、假如我现在代码中用到一个框架,但是这个框架用到的某一个方法是Android10(29)新增的,这种情况下API级别低于Android10(29)的手机就没有这个方法,在这个手机上运行就会出错,所以这个时候我就可以设置MinSdkVersion = 29。放弃API级别比29低的手机。

(2)CompileSdkVersion

编译版本,表示 指定 Gradle 编译你的 APP 时使用的 Android API 版本,这个参数不打包到apk包中,也就是说这个值的设置只是方便我们开发人员检查代码,设置不影响用户。

当你修改了 compileSdkVersion 的时候,可能会出现新的编译警告、编译错误,这个属性设置的越大,废弃的方法就越多,这样可以帮助我们适当处理已经弃用的 API ,并且为使用新的 API 做好准备,所以在开发过程中,推荐总是使用最新的 SDK 进行编译

(3)TargetSdkVersion

表示的是使用的最高的API级别,比如设置了这个值为30(安卓10),也就是说就算你的手机是安卓14,那他也是在安卓10对应的30这个API级别上运行,当然假如你的手机是安卓9,那他就运行在安卓9(28)上

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1945529.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mongodb的通配符索引

学习mongodb,体会mongodb的每一个使用细节,欢迎阅读威赞的文章。这是威赞发布的第95篇mongodb技术文章,欢迎浏览本专栏威赞发布的其他文章。如果您认为我的文章对您有帮助或者解决您的问题,欢迎在文章下面点个赞,或者关…

Blender 4.2 安装GIS插件步骤

Blender 4 更新以后插件安装变得复杂,插件界面的安装按钮不显示,界面布局改变,怎么安装插件: 1. 在线安装: “编辑”(Edit)>进入偏好设置(Preferences setting)>…

文件粉碎销毁 硬盘粉碎销毁 废弃的文件如何销毁

废弃的文件可以采用多种方法进行销毁,具体取决于文件的敏感性和数量。以下是一些常见的废弃文件销毁方法: 1. 机械粉碎:这是一种常见的方法,尤其适用于含有敏感信息的文件。可以使用碎纸机将文件切碎,对于小批量的资料…

Python新手如何制作植物大战僵尸?这篇文章教会你!

引言 《植物大战僵尸》是一款非常受欢迎的塔防游戏,玩家需要种植各种植物来抵御僵尸的进攻。在这篇文章中,我们将使用Python编写一个简化版的植物大战僵尸游戏,以展示如何使用Python创建游戏。 游戏规则 玩家将种植不同类型的植物来防御僵尸…

微软“蓝屏”事件:对全球IT基础设施韧性与安全性的深刻反思

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…

【ai】windows ollama安装qwen

可以直接github下载,或者官方网站下载:参考大神的介绍当前最新0.28安装windows的预览版本,出现一个服务? 直接跑会TLS超时? 配置代理 export https_proxy=http://192.168.50.65:7890 export http_proxy

JavaWeb笔记_Session

Session概述 Session是一种在服务端记录用户会话信息的技术 Session的创建和获取 /*** HttpServletRequest对象中的方法:* public HttpSession getSession()* 如果当前服务端没有session,那就在服务端新建一个session对象* 如果在服务端有这个session,那么就直…

【C++】类和对象之继承

目录 继承的概念和定义 继承的概念 继承的定义 继承的定义格式 继承关系和访问限定符 继承基类成员访问方式的变化 访问权限实例 基类和派生类对象赋值转换 继承中的作用域 派生类的默认成员函数 继承与友元 继承与静态成员 复杂的菱形继承及菱形虚拟继承 继承的…

别再只知道埋头苦学python了!!学了python后月入1w不在话下,不准你还不知道!!!

在Python接单的过程中,掌握一些技巧、注意相关事项以及选择合适的接单平台是非常重要的 一、Python接单要注意哪些 报酬问题:在接单前,务必明确客户所说的报酬是税前还是税后,以避免后期产生纠纷。时间管理:不要与客户…

nacos get changed dataId error, code: 403

nacos get changed dataId error, code: 403问题解决 问题出现原因:解决办法:需要在运行项目的配置添加权限账号和密码,重启服务 问题出现原因: 由于nacosserver开启了权限验证,项目启动时出现异常 nacos.core.auth.caching.ena…

Java基础06:变量,常量,作用域(狂神说Java)

一.变量 有了static,即类变量,就可以不用new了可以直接调用,类变量之后再细讲 二.常量 三.变量的命名规范

权限(linux)

权限就是文件权限(linux万物皆文件) 本文主要涉及文件/文件夹权限 涉及指令: shell: kernal : linux内核 shell : 外壳 shell可以方便交互与操作 bash是一个具体的shell su su 切换用户 su -root 变…

AppInventor导入导出项目以及打包apk安装包

AppInventor导入导出项目以及打包apk安装包 1.概述 当项目开发好了之后,如果想将项目分享给其他人,或者导入其他人开发的项目怎么办那。 如果给其他人安装你的项目,如何安装那? 2.自带导出和导入功能 导出项目,在P…

【网络】tcp_socket

tcp_socket 一、tcp_server与udp_server一样的部分二、listen接口(监听)三、accept接收套接字1、为什么还要多一个套接字(明明已经有了个socket套接字文件了,为什么要多一个accept套接字文件?)2、底层拿到新…

基于VMware(虚拟机) 创建 Ubunton 24.04

目录 1. 设置网络 1. 在安装ubuntu时设置网络 2.在配置文件中修改 2.设置 root 密码 3. 防火墙设置 1 安装防火墙 2 开启和关闭防火墙 3 开放端口和服务规则 4 关闭端口和删除服务规则 5 查看防火墙状态 4. 换源 1. 在创建的时切换源 2.修改源配置 1、Ubuntu24.04 …

MBR60200PT-ASEMI无人机专用MBR60200PT

编辑:ll MBR60200PT-ASEMI无人机专用MBR60200PT 型号:MBR60200PT 品牌:ASEMI 封装:TO-247 批号:最新 恢复时间:35ns 最大平均正向电流(IF):60A 最大循环峰值反向…

学习华为IPD流程黑话2.0

目录 1、内容简介 2、概念六:管道管理 3、概念七:业务计划 4、概念八:IPMT 的投资活动 5、概念九:BETA、ESS、ESP 作者简介 1、内容简介 学习任何新事物都是从概念开始的。 以我个人最近遇到的一个事为例: 前…

TCP三次握手和四次挥手的理解

三次握手 第一次握手: 客户端发出 请求报文其中SYN应1,选择一个序列号x 第二次握手: 服务端接收到之后回复 确认报文,其中SYN应1,ACK1,确认号是x1,同时为自己初始化序列号y 第三次握手&…

uboot的mmc partconf命令

文章目录 命令格式参数解释具体命令解释总结 mmc partconf 是一个用于配置 MMC (MultiMediaCard) 分区的 U-Boot 命令。具体来说,这个命令允许你设置或读取 MMC 卡的分区配置参数。让我们详细解释一下 mmc partconf 0 0 1 0 命令的含义。 命令格式 mmc partconf &…

go语言day15 goroutine

Golang-100-Days/Day16-20(Go语言基础进阶)/day17_Go语言并发Goroutine.md at master rubyhan1314/Golang-100-Days GitHub 第2讲-调度器的由来和分析_哔哩哔哩_bilibili 一个进程最多可以创建多少个线程?-CSDN博客 引入协程 go语言中内置了协程goroutine&#…