所以,我有点困惑,我认为我理解了项目属性中android:minSdkVersion
,android:targetSdkVersion
和target
的含义。
现在我把这些设置为:
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。
答案 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)