Android sdk版本以及兼容性问题

Android:minSdkVersion —— 此属性决定你的应用能兼容的最低的系统版本,一盘情况是必须设置此属性。

android:targetSdkVersion —— 此属性说明你当前的应用是针对某一个系统版本开发设计的,也就是说在这个系统版本上运行是没有任何问题的。对于手机或其他终端设备会根据此属性值,决定是否显示一些特性和效果。当然对于开发者最直接的影响就是,你所用到的API都是基于此版本上的,高于此targetSdkVersion的API在使用的时候会有警告或者错误提示。

android:maxSdkVersion —— 此属性是决定你的应用能支持的版本最高是多少,超过此版本的系统将不能使用你的应用。

1、关于sdk向下兼容,意思是高版本兼容低版本,使用低版本sdk的应用可以正常运行在高版本sdk的手机上,而高版本的sdk应用不能运行在低版本的手机上?

2、那使用高版本的sdk开发的应用都是如何正常运行在低版本的手机上的呢?

1)在程序中判断sdk版本,然后写不同代码。 (见下三)

2)在应用项目中导入support-v4或v7包,使用新版本sdk特性。 (见下四)

三 、  为了应用APP有更好的兼容性,咱们可以利用高版本的SDK开发应用,并在程序运行时(Runtime)对应用所运行的平台判断,旧平台使用旧的API,而新平台可使用新的API,这样可以较好的提高软件兼容性。参考:http://blog.csdn.net/leichelle/article/details/7988561

Check System Version at Runtime(在软件运行时检查判断系统版本)
Android provides a unique code for each platform version in the Build constants class. Use these codes within your app to build conditions that ensure the code thatdepends on higher API levels is executed only when those APIs are available on the system.

private void setUpActionBar() {
    // Make sure we‘re running on Honeycomb or higher to use ActionBar APIs
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {

         ActionBar actionBar = getActionBar();
         actionBar.setDisplayHomeAsUpEnabled(true);
    }
}

android api向来是高版本兼容低版本。如api-8(android2.2)必会兼容api-4(android 1.6)

但是反之则不会,你使用2.2的平台版本build了一个apk,若想能在1.6上运行,则需要做向下兼容.
android support-xx是google官方的向下兼容包.
如名所示,会帮助构建程序向下兼容到1.6版本.不过也并非万能的,还是会受限制.
 google提供了Android SupportLibrary package系列的包来保证来高版本sdk开发的向下兼容性,即我们用4.x开发时,在1.6等版本上,可以使用高版本的有些特性,如fragement,ViewPager等,下面,简单说明下这几个版本间的区别:

   Android Supportv4: 这个包是为了照顾1.6及更高版本而设计的,这个包是使用最广泛的,eclipse新建工程时,都默认带有了。
   AndroidSupport v7: 这个包是为了考虑照顾2.1及以上版本而设计的,但不包含更低,故如果不考虑1.6,我们可以采用再加上这个包,另外注意,v7是要依赖v4这个包的,即,两个得同时被包含。
   AndroidSupport v13  :这个包的设计是为了android3.2及更高版本的,一般我们都不常用,平板开发中能用到。 
时间: 2024-10-14 01:36:24

Android sdk版本以及兼容性问题的相关文章

Android SDK版本和ADT版本

Android SDK版本和ADT版本 Android早期的版本号有点“混乱”,比如Android 2.2对应的ADT版本为ADT-0.9.9而Android 2.3对应的的ADT版本则突然“跃迁”为 ADT-8.0.0.zip. 而且Android SDK还包含SDK Tools和SDK Platform两个东西,它们的意义也不同,它们也有各自的版本号,因此有些人在此处容易混淆,下面将它们之间的对应关系进行一下简单的归纳: Android平台与SDK Tools版本.ADT版本的对应关系 An

android 工程如何修改 android sdk 版本

原文地址:http://jingyan.baidu.com/article/c910274bfdd000cd371d2d4b.html android工程建立后,有时候经常需要修改工程对应的android sdk的版本,以适应不同的情况和需求,现将方法介绍如下: 方便他人亦是方便自己,如果觉得还行就点下右边的投票吧,这样可以帮助其他人更快的找到解决问题的方法:有疑问的也可留言哦, 谢谢! 工具/原料 adt-bundle-windows-x86_64-20140702 方法/步骤 打开工程,如“

Android SDK版本问题

在导入外部工程时,经常会遇到版本不符出现报错,以下以今天导入的工程为例,说明这类问题的根源及解决方法. 导入名为Pro的外部工程,SDK版本是21,且由于最低版本和目标版本不一致,原工程要以 support-v7为library,其默认sdk版本也为21 导入后,先是报错styles问题,原因是所用styles版本较低,需要兼容支持,也即缺少support-v7工程.解决办法是找到sdk路径下的support-v7/appcompat文件,导入这个工程.右击工程->properties->An

android sdk 版本与api对应

实际上可以在Android SDK Manager工具中查看,但可能不全 android 6.0 API 23 android 5.1.1 API 22 android 5.0.1 API 21 android 4.4W.2 API 20 android 4.4.2 API 19 android 4.3.1 API 18 android 4.2.2 API 17 android 4.1.2 API 16 android 4.0.3 API 15 android 4.0   API 14 andr

使用第三方表单检验saripaar的时候,Android SDK版本不同,要注意啦,提示会有点小问题

最近在使用saripaar的时候,当提示错误信息时,发现只有白色的框,没有文字提示,研究很久,原来是字体颜色和错误提示框的背景颜色是一样的,所以给人一种感觉就是字体没有设置成功,解决方法就是改一下字体颜色就Ok了. /**  * 根据sdk版本不同设置错误提示字体颜色  *   * @param error  * @return  */ private CharSequence setErrorTextColor(String error) {  int version = Build.VERS

Android SDK 版本

Android Version API Version Code Android 1.0 1 BASE Android 1.1 2 BASE_1_1 Android 1.5 3 CUPCAKE Android 1.6 4 DONTU Android 2.0 5 ECLAIR Android 2.0.1 6 ECLAIR_0_1 Android 2.1.x 7 ECLAIR_MR1 Android 2.2.x 8 FROYO Android 2.3 Android 2.3.1 Android 2.

Android系统版本、Platform版本、SDK版本、gradle修改

虽然之前分析了gradle,但是在eclipse导入Android studio的时候,各个版本出现的问题还是很模糊,下面对各种版本进行一下说明: 参考资料: https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#uses http://blog.csdn.net/aiynmimi/article/details/51028499 1.  概念: 我们通常所说的Android系统版本其实就是platfo

Android SDK目录及版本号区别

今天又有人问Tools,Build-Tools,Platform-tools有什么区别,是干嘛的? 现在对SDK目录做一下总结阐述! SDK目录 add-ons 这里面保存着附加库,第三方公司为android 平台开发的附加功能系统.比如GoogleMaps,当然你如果安装了OphoneSDK,这里也会有一些类库在里面. docs 这里面是Android SDKAPI参考文档,所有的API都可以在这里查到. extras 该文件夹下存放了Android support v4,v7,v13,v17

Eclipse 中打不开android sdk managerf

今天配置android sdk 的时候,出现了android sdk 打不开的情况.无论直接点击 sdk manager.exe 还是从eclipse启动,都不起作用,双重启(重启eclipse和adb)依然不起作用,查看eclipse console,提示“[2014-10-09 18:14:00 - SDK Manager] [SDK Manager] 该版本的 D:\ADT-BU~1\sdk\tools\lib\find_java.exe 与您运行的 Windows 版本不兼容.请查看计算