Android:minSdkVersion和targetSdkVersion之间的关系

Android:minSdkVersion和targetSdkVersion之间的关系,android,Android,我已经阅读了谷歌文档中关于minSdkVersion和targetSdkVersion的所有内容,但我仍然不能完全确定如何正确使用这些内容 我当前的应用程序的minSdkVersion值为8,而targetSdkVersion值也为8,因此工作正常 我将我的targetSdkVersion更改为18,突然我的应用程序的一半不再按预期运行。甚至一些简单的HTTP请求也不起作用 从阅读文档中我了解到,targetSdkVersion是用于使用某一级别API的功能的,对吗?为什么简单的HTTP请求在目

我已经阅读了谷歌文档中关于
minSdkVersion
targetSdkVersion
的所有内容,但我仍然不能完全确定如何正确使用这些内容

我当前的应用程序的
minSdkVersion
值为8,而
targetSdkVersion
值也为8,因此工作正常

我将我的
targetSdkVersion
更改为18,突然我的应用程序的一半不再按预期运行。甚至一些简单的HTTP请求也不起作用

从阅读文档中我了解到,
targetSdkVersion
是用于使用某一级别API的功能的,对吗?为什么简单的HTTP请求在目标为18时不能按预期运行?它们的用法不同吗

如果有人能就这两个属性的工作原理给出简短、清晰的解释,我将非常感激


另外,如果我将目标值保持在8,它在较新的设备上可以工作吗?

minSdk是设备安装应用程序所需的最低api级别

在代码中,您可以使用自targetSdk或更低版本以来可用的所有函数

例如: 如果targetSdk为14,minSdk为8,并且希望使用自sdk 11以来可用的方法,则在调用该方法之前,必须检查设备的sdk是否为11或更高


如果您使用的函数需要比minSdk更高的api级别,则代码将编译,但如果在低于targetSdk的设备上调用该函数,代码将崩溃。这就是为什么在调用方法或使用类之前必须检查它。

minSdk是设备安装应用程序所需的最低api级别

在代码中,您可以使用自targetSdk或更低版本以来可用的所有函数

例如: 如果targetSdk为14,minSdk为8,并且希望使用自sdk 11以来可用的方法,则在调用该方法之前,必须检查设备的sdk是否为11或更高


如果您使用的函数需要比minSdk更高的api级别,则代码将编译,但如果在低于targetSdk的设备上调用该函数,代码将崩溃。这就是为什么在调用方法或使用类之前必须检查它。

您是否正确安装了“18”的sdk?你是否正确地进行了“清理”和“构建”?@RobertRowntree我在同一个工作区中有另一个测试项目,目标是18,它工作正常。如果你的环境正常,请尝试构建测试SDK的“示例API”应用程序…在更新的SDK版本上,某些函数可能“不推荐”,这意味着,例如,如果您在targetSdkVersion=18中使用自版本15以来就被弃用的某些函数,它可能会带来一些错误和警告,因此,请确保在制作应用程序时,选择targetSdkVersion高于minSDKVersion以支持较新的OS版本。HttpClient包、HttpUrlConnection包都非常动态??我不能指出任何具体的东西,但一如既往,请注意日志和异常中的信息……您是否正确安装了“18”的sdk?你是否正确地进行了“清理”和“构建”?@RobertRowntree我在同一个工作区中有另一个测试项目,目标是18,它工作正常。如果你的环境正常,请尝试构建测试SDK的“示例API”应用程序…在更新的SDK版本上,某些函数可能“不推荐”,这意味着,例如,如果您在targetSdkVersion=18中使用自版本15以来就被弃用的某些函数,它可能会带来一些错误和警告,因此,请确保在制作应用程序时,选择targetSdkVersion高于minSDKVersion以支持较新的OS版本。HttpClient包、HttpUrlConnection包都非常动态??我不能指出任何具体的东西,但一如既往,请注意您的日志和异常中的信息。。。