当前位置: 首页 > news >正文

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

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)上

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Python基础知识笔记——random模块
  • C++包管理之`vcpkg`简介
  • 如何限制 docker 使用cpu
  • HTML中a标签跳转后路径不正确?
  • IDEA 本地有jar包依赖文件,但是所有引用的jar包全部爆红
  • 【ROS 最简单教程 002/300】ROS 集成开发环境安装 (虚拟机版): Noetic
  • GLSL教程 第10章:高级渲染技术
  • QEMU 新增QMPHMP指令【原文阅读】
  • keil 启动在线调试后不能单步执行问题解决,卡在汇编代码
  • pyinstaller带浏览器一起打包playwright 独立运行exe
  • react子组件向父组件传参
  • R语言 爬取数据+简单清洗
  • 【前端学习笔记】CSS基础一
  • 2023河南萌新联赛第(二)场 南阳理工学院
  • 在MySQL中处理同时进行的SELECT和UPDATE操作20240729
  • Apache Spark Streaming 使用实例
  • axios 和 cookie 的那些事
  •  D - 粉碎叛乱F - 其他起义
  • IDEA常用插件整理
  • JavaScript创建对象的四种方式
  • oldjun 检测网站的经验
  • Otto开发初探——微服务依赖管理新利器
  • React系列之 Redux 架构模式
  • Sublime Text 2/3 绑定Eclipse快捷键
  • WebSocket使用
  • windows下mongoDB的环境配置
  • zookeeper系列(七)实战分布式命名服务
  • 闭包,sync使用细节
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 聊聊redis的数据结构的应用
  • 前端相关框架总和
  • 十年未变!安全,谁之责?(下)
  • 我这样减少了26.5M Java内存!
  • “十年磨一剑”--有赞的HBase平台实践和应用之路 ...
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • 阿里云ACE认证之理解CDN技术
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • !!java web学习笔记(一到五)
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (003)SlickEdit Unity的补全
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (HAL库版)freeRTOS移植STMF103
  • (Oracle)SQL优化基础(三):看懂执行计划顺序
  • (第30天)二叉树阶段总结
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (四)Linux Shell编程——输入输出重定向
  • (四)库存超卖案例实战——优化redis分布式锁
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • (转)Windows2003安全设置/维护
  • (转载)hibernate缓存
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • .Net Memory Profiler的使用举例
  • .NET 材料检测系统崩溃分析
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)