AndroidMenifest.xml中minSdkVersion、targetSdkVersion、targetApiLevel的区别

Unity使用c#开发遇上的问题(十一)(AR开发导入Vuforia产生Manifest merger failed : uses-sdk:minSdkVersion 22 解决) 使用untiy进行ar设计,在Vuforia生成.unitypack包,unity中引用此包进行设计。但是进行导出的时候出现Manifest merger failed : uses-sdk:minSdkVersion 22 cannot be smaller than version 23 declared in lib报警 阅读详情
在AndroidMenifest.xml中,常常会有下面的语句: <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="10" android:maxSdkVersion="10" /> 
在default.properties中,会看到下面的语句: target=android-10 如果是使用Eclipse的话,还可能会看到这样的警告: 
Attribute minSdkVersion (4) is lower than the project target API level (10) 
那么,这里面的minSdkVersion、targetSdkVersion、maxSdkVersion、target API level四个数值到底有什么区别?
 minSdkVersion与maxSdkVersion比较容易理解,就是在安装程序的时候,如果目标设备的API版本小于minSdkVersion,
 或者大于maxSdkVersion,程序将无法安装。一般来说没有必要设置maxSdkVersion。 
 targetSdkVersion相对复杂一些,如果设置了此属性,那么在程序执行时,如果目标设备的API版本正好等于此数值,
 他会告诉Android平台:此程序在此版本已经经过充分测,没有问题。不必为此程序开启兼容性检查判断的工作了。
 也就是说,如果targetSdkVersion与目标设备的API版本相同时,运行效率可能会高一些。 
 但是,这个设置仅仅是一个声明、一个通知,不会有太实质的作用,
 比如说,使用了targetSdkVersion这个SDK版本中的一个特性,但是这个特性在低版本中是不支持的
 ,那么在低版本的API设备上运行程序时,可能会报错:java.lang.VerifyError。也就是说,此属性不会帮你解决兼容性的测试问题。
 你至少需要在minSdkVersion这个版本上将程序完整的跑一遍来确定兼容性是没有问题的。(这个问题确实让人头疼)  
 在default.properties中的target是指在编译的时候使用哪个版本的API进行编译。 综上,上面的四个值其实是作用于不同的时期:
 target API level是在编译的时候起作用,用于指定使用哪个API版本(SDK版本)进行编译。 minSdkVersion和maxSdkVersion是在程序安装的时候起作用,
 用于指定哪些版本的设备可以安装此应用。 targetSdkVersion是在程序运行的时候起作用,用于提高指定版本的设备上程序运行体验。

 这四个数值在程序编译时也没有严格的检查,比如说,你可以将minSdkVersion设置的比maxSdkVersion还大,他会自动忽略掉错误的maxSdkVersion。

转自:http://usenrong.iteye.com/blog/1488503

给宇树Go2机器人装‘眼睛’:在Jetson Orin Nano上从零部署YOLOv5的保姆级避坑实录 本文详细介绍了在Jetson Orin Nano上为宇树Go2机器人部署YOLOv5视觉系统的完整流程,涵盖硬件选型、环境配置、模型优化及系统集成等关键步骤。针对机器人应用场景特有的离线部署、版本冲突和实时推理等挑战,提供了实用的解决方案和性能优化技巧,帮助开发者快速实现机器人的视觉能力升级。 阅读详情

相关推荐

保姆级教程:在紫光同创Titan2 FPGA上实现PCIe DMA,实测带宽接近理论极限

本文详细介绍了在紫光同创Titan2 FPGA上实现PCIe DMA性能调优的全过程,通过参数优化和架构设计,实测带宽达到6.91GB/s,接近理论极限。涵盖开发环境搭建、PCIe IP核定制、DMA引擎设计、驱动开发及性能调优等关键步骤,为FPGA开发者提供实用指南。

weixin_30954817的博客 335

Android的compileSdkVersion, minSdkVersion 和 targetSdkVersion 更新到28

一: compileSdkVersion SDK编译版本。 compileSdkVersion 告诉 Gradle用哪个 Android SDK 版本编译你的应用。使用任何新添加的 API 就需要使用对应 Level 的 Android SDK。(只在编译时使用) minSdkVersion 最小的SDK版本。 如果 compileSdkVersion 设置为可用的最新 API,那么 minSdkVersion 则是应用可以运行的最低要求。minSdkVersion 是 各大Android应用商.

冯旭的博客 1915

【汽车ECU标定技术解析】DCM文件与A2L、HEX的协同工作机制

本文深入解析了汽车ECU标定中DCM、A2L与HEX三大核心文件的协同工作机制。A2L文件作为定义标定变量地址与规则的“图纸”,DCM文件承载工程师调试后的具体标定数据,最终通过A2L的地址映射,将DCM数据固化生成可刷入ECU的HEX文件,形成完整的标定数据流转闭环。

weixin_29214559的博客 436

unity打包android遇到一个非常隐蔽的坑

后来经过删除添加等原始排除方法后,发现是StreamingAssets里的一个word文档。删除了就能正常打包了。测试Unity打包出pico,一直打包出错。各种尝试都不行,提示android版本不对。

weixin_43380580的博客 254

AHP层次分析法在项目风险评估中的实战应用(含Excel模板)

本文详细介绍了AHP层次分析法在项目风险评估中的实战应用。通过构建风险层次模型、利用判断矩阵量化主观判断,并结合Excel工具进行权重计算与一致性检验,将模糊的定性风险转化为清晰的量化排序。文章以新产品上线项目为例,提供了完整的分析流程和可操作的Excel模板,帮助项目经理高效识别并优先处理核心风险。

weixin_29061465的博客 570

告别TwinCAT:手把手教你用IgH EtherCAT Master在LinuxCNC上搭建实时运动控制平台

本文详细介绍了如何利用IgH EtherCAT Master和LinuxCNC搭建开源实时运动控制平台,替代商业软件TwinCAT。通过分步指南,包括实时Linux环境配置、EtherCAT主站安装、LinuxCNC集成及多轴同步控制实现,帮助开发者构建高性能、低成本的工业自动化解决方案。

weixin_42641741的博客 401

Android安卓学习笔记

安卓学习笔记 目录 安卓学习笔记 连接夜神模拟器 Android Studio导包 minSdk(API 29) > deviceSdk(API 22)”错误提示 工程目录 尝试eclipse开发 打包 初学 连接夜神模拟器 通过adb连接夜神模拟器,启动模拟器,cmd执行命令:夜神模拟器安装路径 + nox_adb.exe connect 127.0.0.1:620...

瑶山的博客 1026

Win 11 Fastboot驱动的详细安装教程

Fastboot驱动的详细安装教程

水w的博客 1万+

Android工程中compileSdkVersion、minSdkVersion、targetSdkVersion区别

一、mips、armeabi、armeabi-v7a和x86说明        在Android日常的开发过程中有的项目需要引入第三方的库,有时候会在jniLibs文件夹下看到mips、armeabi、armeabi-v7a和x86类似的文件夹。这些文件夹下面存放的用C编译的本地库文件(各类.so文件),一些重要的加密算法或者核心协议一般都用c写然后给java调用,这样可以避免反编译后查看到应用的...

wangpf2011的博客 1625

【GlobalMapper精品教程】074:从Lidar点云创建3D地形模型

本文基于地形点云数据,基于泊松方法、贪婪三角形测量方法和阿尔法形状创建3d地形模型。

智慧空间实验室 2169

2026.02.04 AI趋势|原生工作流爆发,智能体重构开发范式

2026年2月4日GitHub Trending榜单迎来关键转变——传统工具链项目占比骤降,AI原生工作流相关项目成为绝对主流。本次Top 20榜单中,超70%项目聚焦AI模型的四大核心能力:上下文增强、任务编排、自治执行、知识闭环。值得关注的是,Claude生态(如claude-mem)与OpenAIskills框架形成跨厂商协同,尽管设计理念有差异,但共同推动多模型智能体(Multi-Model Agent)成为新一代软件基础设施,AI开发正式从“单点调用”迈入“系统级编排”时代。

lpfasd123的博客 348

Android <uses-sdk> 和 target 分析

Android中uses-sdk属性和target属性分析

2万+

PyCharm配置SSH远程解释器第3步时弹框报错:com.google.gson.stream.MalformedJsonException: Expected value at l...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1928

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

新接触Android开发,多次遇到SDK版本与API LEVEL的对应关系,就进行了一下总结,以备后续查看。 API是开发用的,所以API LEVEL可以认为是内部的;而SDK的版本提供了新特性给用户,是外部可见的。 可以查看以下网址以获取最新的对应关系: [安卓API LEVEL说明](http://developer.android.com/guide/appendix/api-levels.html)

lintax的专栏 3万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

上一篇: Eclipse(Android)工程依赖和jar的关系
下一篇: Android比较日期
HabbyGe
博客等级 码龄16年 46粉丝 143原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值