minSdkVersion和targetSdkVersion相信非常多人都不太理解。我在网上也看了很多关于这两者差别的文章,感觉说的都非常模糊。直到我在stackOverFlow看到Android Min SDK Version vs. Target SDK Version这篇文章后,我才最终弄清楚怎样去设置minSdkVersion和targetSdkVersion。如今我将分享给大家。

简言之,这篇文章的目的是为了区分minSDK和targetSDK,这两者相当于一个区间。你能够用到targetSDK中最新的API和最酷的新功能,但你又不得不向下兼容到minSDK,保证这个区间内的设备都能够正常的执行你的app。换句话说,你想使用Android刚刚推出的新特性。但这对于你的app又不是必须的。你就能够将targetSDK设置为你想使用新特性的SDK版本号,minSDK设置成低版本号保证全部人都能够使用你的app。

举一个样例:假如你想给你的app增加大量的手势操作(sdk 7才引入的),然而这些手势操作能够被Button啊或menu等取代,在这样的情况下,手势操作就是一个额外的加分功能,而不是一个必须的功能,因此你就须要把targetSDK设置为7,把minSDK设置为3(这是举个样例,如今没人还在用这么老的设备了)这样即使是使用老设备的用户也能够用你的app了。

然后你所要做的就是要在代码里推断版本号,假设是大于等于7的版本号中就使用手势操作,小于7的版本号中就使用button等取代,这样使用了新手机的用户就能够体验到你app中酷炫的新功能了。

另外一个样例:假设你想给你的项目增加Android 5.0的Material Design,有一些用户可能会升级到5.0而使用到你的新特性,而有一部分用户的手机硬件太老,不支持升级到5.0,除非他们换新手机。那么你就要为他们进行向下兼容,不至于损失这部分用户,这样你的targetSDK设置为21。minSDK能够设置为8

[转]彻底明确怎样设置minSdkVersion和targetSdkVersion的更多相关文章

  1. 彻底明确怎样设置minSdkVersion和targetSdkVersion

    minSdkVersion和targetSdkVersion相信非常多人都不太理解.我在网上也看了很多关于这两者差别的文章,感觉说的都非常模糊.直到我在stackOverFlow看到Android M ...

  2. 如何设置minSdkVersion和targetSdkVersion

    转http://www.07net01.com/2015/07/878098.html minSdkversion和targetSdkVersion相信很多人都不太理解,我在网上也看了许多关于这两者区 ...

  3. Android的minSdkVersion,targetSdkVersion,maxSdkVersion

    参考http://developer.android.com/guide/topics/manifest/uses-sdk-element.html API Level 是一个整型值,表示Androi ...

  4. 如何选择 compileSdkVersion, minSdkVersion 和 targetSdkVersion

    对这几个概念模模糊糊,看到一篇文章就记录下来. 当你发布一个应用之后,(取决于具体的发布时间)可能没过几个月 Android 系统就发布了一个新版本.这对你的应用意味着什么,所有东西都不能用了?别担心 ...

  5. Android中build target,minSdkVersion,targetSdkVersion,maxSdkVersion概念区分 (转载)

    本文参考了谷歌开发者文档:http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#provisional 如果 ...

  6. Android中build target,minSdkVersion,targetSdkVersion,maxSdkVersion概念区分

    Android中build target,minSdkVersion,targetSdkVersion,maxSdkVersion概念区分 标签: build targetminSdkVersiont ...

  7. Android之 compileSdkVersion, minSdkVersion, and targetSdkVersion

    在一年之中,也有可能只是几个月后,你会发布你的Android应用程序.但是这中间有可能会发布新的版本的Android系统,比如:6.0+. 你肯定希望你的应用可以向前兼容,当用户升级到新的Androi ...

  8. Android中build target,minSdkVersion,targetSdkVersion,maxSdkVersion概念区分

    问题引入:   有一个下载功能,在Android 5.x设备上运行正常,Android 6.x上运行异常,现象是下载进度卡在0%.   问题排查发现,是sdk的target设置为23导致,修改为21则 ...

  9. compileSdkVersion,minSdkVersion 和 targetSdkVersion

    compileSdkVersion(Eclipse中叫做build target) 1.在eclipse中位于项目根目录中的project.properties文件中 2.在studio中位于项目中的 ...

随机推荐

  1. SQL Server 2012 安装图解教程(附sql2012下载地址)

    在安装微软最新数据库SQL Server 2012之前,编者先确定一下安装环境:Windonws 7 SP1,32位操作系统.CPU是2.1GHz赛扬双核T3500,内存2.93GB. sql2012 ...

  2. 用jetty起maven工程debug报source not found

    之前基本都是tomcat启maven本工程 惯性的处理方式是 直接点击lookup source 直接先删除default工程 然后选择导入java project 找到源码所在的工程 但是一般情况下 ...

  3. CentOS 7.2 安装Gerrit 2.14.6

    1.环境 本文使用VMWare虚拟机进行实验. 2核CPU,4GB内存,20GB硬盘,IP:192.168.159.131 CentOS 7.2最小安装(CentOS-7-x86_64-Minimal ...

  4. 禁止屏幕旋转并同时解决以至于导致Activity重启的方法

    1.禁止屏幕旋转在AndroidManifest.xml的每一个需要禁止转向的Activity配置中加入android:screenOrientation属性. //landscape(横向)port ...

  5. 理解Objective-C Runtime(四)Method Swizzling

    Objective-C对象收到消息之后,究竟会调用何种方法需要在运行期间才能解析出来.那你也许会问:与给定的选择子名称相应的方法是不是也可以在runtime改变呢?没错,就是这样.若能善用此特性,则可 ...

  6. PostgreSQL 图形化客户端工具有哪些

    linux下有字符界面的:psql         图形界面的:pgaccesswindows系统可以用:phpPgAdmin或者telnet+psql 和phpmyadmin 一家的phpPgAdm ...

  7. 数据类型总结 (C++)

    数据类型总结 (C++) 作用 C++ 大小 取值范围 后缀 字符 char 1 -128~127   字符(无符号) unsigned char 1 0~255   宽字符 wchar_t 2   ...

  8. vs2008控制台程序运行一闪而过,不显示按任意键继续

    调试运行(F5)而且没插断点.且程序没有暂停的点,就会一闪而过 直接执行(Ctrl+F5),在程序结束前会有“按任意键继续” 当你不想进入调试状态,只想看一看程序执行结果时用ctrl+f5F5会进入调 ...

  9. View Programming Guide for iOS ---- iOS 视图编程指南(一)

    Next About Windows and Views 关于窗口和视图 In iOS, you use windows and views to present your application’s ...

  10. mysql5.7 异常ERROR 1055 (42000)

    大致错误如:ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonagg ...