android: minSdkVersion、targetSdkVersion、CompileSdkVersion三个api版本号的区别
一,minSdkVersion:
app可以安装的最低的api版本:
1,安装:google play和应用市场会根据用户的api版本,
判断用户是否可以看到你的app
2, 运行:在minSdkVersion指定版本的api上运行时,
如果使用了更高版本的api,会导致报错:
java.lang.NoSuchMethodError
这个需要在代码中进行判断解决
3,调用第三方库: 如果调用多个第三方库,
每个第三方库都有自己的minSdkVersion,
则app设置minSdkVersion时,
应取所调用的第三方库中最大的minSdkVersion值
4,选择版本:参考这篇文章:
选择一个支持度较高的版本,
如果minSdkVersion值越低,则调试兼容性的工作越多
二,targetSdkVersion:
1,targetSdkVersion 是经过测试可支持的目标版本:
是 Android 提供向前兼容的主要依据
即:你的app支持从minSdkVersion到targetSdkVersion区间范围内的所有api版本,
在这些版本上都经过测试后运行无问题
2,选择版本:
创建应用:android studio 通常会设置为当前的最新android版本
发布: 通常google play或应用市场会对targetSdkVersion做出要求,
以保持对新版android的兼容性
说明:刘宏缔的架构森林是一个专注架构的博客,
网站:https://blog.imgtouch.com
原文: https://blog.imgtouch.com/index.php/2023/06/05/android-minsdkversion-targetsdkversion/
对应的源码可以访问这里获取: https://github.com/liuhongdi/
或: https://gitee.com/liuhongdi
说明:作者:刘宏缔 邮箱: 371125307@qq.com
三,CompileSdkVersion
1,compileSdkVersion是gradle编译app时指定的api版本
注意:这个值只在编译时起作用,它不会被编译到apk当中
指定compileSdkVersion后,可能会出现相应的编译警告、编译错误
2,选择版本:
创建应用:android studio 通常会设置为当前的最新android版本
设置时通常与targetSdkVersion保持一致
四,总结三者的关系:
minSdkVersion (lowest possible) <= targetSdkVersion == compileSdkVersion (latest SDK)
minSdkVersion到targetSdkVersion之间这两者是一个区间。
你能够用到targetSdkVersion中最新的API,但你又需要向下兼容到minSdkVersion,
保证这个区间内的api版本都能够正常的执行你的app。
来自博客园mfmdaoyou的生动解释

原博文地址:
https://www.cnblogs.com/mfmdaoyou/p/6922549.html
分类:
android
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
2020-04-13 centos8平台使用dnf/yum管理软件包