android:minSdkVersion,android:targetSdkVersion和“target”之间的关系

时间:2012-05-24 18:07:50

标签: android

所以,我有点困惑,我认为我理解了项目属性中android:minSdkVersionandroid:targetSdkVersiontarget的含义。

现在我把这些设置为:

    android:minSdkVersion="7" 
    android:targetSdkVersion="13"

    target=android-15
project->properties->Android->Project Build Target中的

当我尝试在安装了Android 2.3.3的设备上运行此应用程序应用程序时,我看到设备名称出现红叉,但应用程序运行正常。

我错过了什么?如果我正在建立反对15,它是如何在android-7上运行的?在我将AdMob集成到我的应用程序中后,这种混淆表明它需要最低的SDK级别13。

3 个答案:

答案 0 :(得分:22)

一次描述一个:

  • android:minSdkVersion可帮助Google Play根据用户为用户过滤应用。例如,使用minSdkVersion =“7”时,使用仅支持6的设备浏览的人将无法在Google Play上看到您的应用,因此无法下载,发现它无效,并留下错误的评论: )

  • android:targetSdkVersion是设备发出的关于您的应用针对哪个版本的API进行测试的信号。对于目标至少该平台版本的应用程序,默认情况下,新版本的平台通常可以使用新行为。例如,通过将targetSdkVersion设置为11或更高,您可以在ActionBar(用于Honeycomb和up设备)中获得溢出菜单,而不是“遗留的羞耻菜单按钮”。

  • project.properties target是向本地构建系统发出的信号,指示您应该针对哪个版本的平台编译代码。通常,最好将其设置为您为targetSdkVersion设置的任何内容。

  

我错过了什么?如果我正在与15建立,它是如何运行的   机器人-7?

Android保持向后兼容性正是出于这个原因。当您使用在平台版本15中添加的API时,显然它们不会在运行旧设备的设备上存在。

但是,可以(并鼓励)以这样的方式设计应用程序,以便利用在新平台上添加的功能,但“优雅地降级”,以便您的应用程序继续在较旧的应用程序上运行。只有这个主题有一个Android培训课程,名为Supporting Different Platform Versions

答案 1 :(得分:1)

android:minSdkVersion="7"表示您无法在2.1(API-7)下的设备中运行此应用。 android:targetSdkVersion="13"该应用是针对此API构建的。构建目标将设置为13,并且可用的方法和内容将工作到13。

http://developer.android.com/guide/topics/manifest/uses-sdk-element.html

答案 2 :(得分:1)

android:targetSdkVersion =“13”表示通过将sdk 13保持为目标来构建此应用程序,以充分发挥其功能

android:minSdkVersion =“7”表示它适用于sdk 7及更高版本,但如果某些功能在低级sdk中不可用,则可以删除其部分功能。即(小于sdk 13)