您的位置:首页 > 移动开发

minSdkVersion、argetSdkVersion、maxSdkVersion的理解

2017-03-13 15:01 330 查看
Android系统有不同版本,每款手机装的Android 系统可能都不一样,为了适应不同的系统,App在创建时要设置minsdkVersion和argetSdkVersion,而maxsdkversion已经被Android弃用。下面简介一下前两个属性的意义。

1,minSdkVersion

app在向下兼容时,最低兼容的版本。如果设置成兼容api 为5.对应的版本为Android 2.0。那么你的App在Android 2.0以下的手机会提示安装不了。这个值越低,那么对系统兼容越好,如果不加这个属性,默认为对所有Android 手机都兼容。因为Android 系统不断的在更新,可能引入了一些新的特性,比如将build
target设为最新的android-19,就会使用最新的android-19下的android.jar来编译项目。将minSdkVersion设置为8。在使用的android.jar中,肯定会有和ActionBar相关的API, 但是在项目中调用ActionBar API,就会报错。报错的解决方法是引入Android 的包。

2.targetsdkVersion

这个其实就是指定app的编译的sdk版本。这个属性通知系统,你已经针对这个指定的目标版本测试过你的程序,系统不必再使用兼容模式来让你的应用程序向前兼容这个目标版本。应用程序仍然能在低于targetSdkVersion的系统上运行。

根据你设置的targetSdkVersion 的值,系统会执行很多兼容行为。一些行为在对应平台版本的Build.VERSION_CODES中有讨论。

为了让你的应用程序支持每个Android版本,你应当提高targetSdkVersion的值到最新的API level,然后在对应的平台上彻底的测试你的应用。

从上面的论述可知,targetSdkVersion这个属性是在程序运行时期起作用的,系统根据这个属性决定要不要以兼容模式运行这个程序。

一般情况下,应该将这个属性的值设置为最新的API level 值,这样的话可以利用新版本系统上的新特性。eclipse在生成项目时,默认将该值设置为最高,如果设置一个较低的值,会给出一个警告,如下图所示。



这个警告的意思是没有将targetSdkVersion的值设置为最高值,较新的系统会以兼容模式运行该程序。请考虑在新版本系统上测试程序并将targetSdkVersion设置为最新。

参考文章 http://blog.csdn.net/zhangjg_blog/article/details/17142395
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 应用 app
相关文章推荐