Android开发中minSdkVersion、targetSdkVersion、maxSdkVersion和project.properties中target API level

本文介绍了Android应用开发中minSdkVersion、targetSdkVersion和maxSdkVersion的含义和作用。minSdkVersion定义了应用能运行的最低API版本,maxSdkVersion则限制了最高版本。targetSdkVersion表示应用已针对该版本进行全面测试,提高运行效率。设置不当可能导致兼容性问题,需要在不同API级别上进行测试。此外,project.properties中的target指编译时使用的API版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


(1)minSdkVersion与maxSdkVersion :在安装程序的时候,如果目标设备的API版本小于minSdkVersion,

或者大于maxSdkVersion,程序将无法安装。一般来说没有必要设置maxSdkVersion。

(2) targetSdkVersion  :如果设置了此属性,那么在程序执行时,如果目标设备的API版本正好等于此数值,他会告诉Android平

台:此程序在此版本已经经过充分测试,没有问题。不必为此程序开启兼容性检查判断的工作了。也就是说,如果targetSdkVersion

与目标设备的API版本相同时,运行效率可能会高一些。但是需要注意的是:如果使用了当前targetSdkVersion这个SDK版本中的一些特

性,但这些特性在低版本中是不支持的,那么在低版本的api设备上运行程序时,就可能会报错:java.lang.VerifyError;这个错误也就是说,此属性不

会帮你解决兼容性的测试问题。因此你至少需要在minSdkVersion这个版本上将程序完整的跑一遍来确定兼容性是没有问题的。

(3)在project.properties中的target是指在编译的时候使用哪个版本的API进行编译。开发时工程SDK版本和target的值是保持一致的,无论修改哪一

个另外一个值相应改变。

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

maxSdkVersion。


最后补充官方文档的一些解释:

(1)targetsdkversion即其以上的版本将使用新的功能(os new api),但对低版本的需要进行code支持,即文章【1】写到的使用反射(reflection)

的技术对老版本使用的一些api功能进行支持,否则会出现老版本上崩溃的现象;


(2)使用最新的开发平台开发,并设置其对应的targetsdkversion;发布的时候,需要从min到target上均需要进行测试;


(3)文章【2】提到了最大兼容性的问题,体现到两个方面:device feature support(新的属性), 和OS version support(新的api)。当进入新的开


发平台时,为了使应用程序最大兼容性,可以对用不到新平台支持的一些特性进行选择设置,使得老版本(不被Market过滤掉)可以安装使用.


(4)minSDKVersion是向后(老版本)兼容,targetSDKVersion是向前兼容。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值