Android应用程序不会在低于targetSDKVersion的版本上启动

时间:2013-01-04 13:00:59

标签: android android-emulator android-manifest android-version

我刚从Android SDK Manager下载了最新的SDK版本,并将我的应用程序的Project Build Target设置为Google API等级17,如下所示

enter image description here

并添加到我的App的AndroidManifest.xml中,如下所示

<uses-sdk 
   android:minSdkVersion="3" 
   android:targetSdkVersion="17" 
   android:maxSdkVersion="17" />

并加载了Level 8,2.2的模拟器,然后尝试在此模拟器上启动应用程序。每当我运行应用程序时,它会显示“找不到兼容的目标”(我知道我可以为17级创建AVD但是想在模拟器级别8上启动)当我在AndroidManifest.xml中有android:minSdkVersion =“3”时。 / p>

我研究了很多,但没有找到合适的答案。

然后我将项目构建目标更改为Android 4.2级别17,如下所示

enter image description here

该应用程序开始在17级以下的所有仿真器上启动。

但是,当项目构建目标是Google API等级17时,我仍然不知道限制应用程序在较低版本的Emulator上启动是什么

3 个答案:

答案 0 :(得分:1)

Google APIs附加组件是Android SDK开发环境的扩展,可让您为包含Google自定义应用程序,库和服务的设备开发应用程序。附加组件的一个核心功能是Maps外部库,它允许您为Android应用程序添加强大的映射功能。

启用Google API可让您使用默认Android设备中不存在的功能。由于您的minSdkVersion设置为3,因此如果您创建API版本大于3但启用了Google API的模拟器,则应该能够启动该应用程序。

答案 1 :(得分:1)

只需删除targetSDKVersion属性,然后尝试。

指定应用程序所针对的API级别的整数。

设置此属性后,应用程序会说它能够在旧版本(低至minSdkVersion)上运行,但已经过明确测试,可以使用此处指定的版本。指定此目标版本允许平台禁用目标版本不需要的兼容性设置(否则可能会打开以保持向前兼容性)或启用较旧应用程序不可用的较新功能。这并不意味着您可以为不同版本的平台编写不同的功能 - 它只是通知平台您已针对目标版本进行了测试,并且平台不应执行任何额外的工作来保持与目标版本的向前兼容性。 / p>

https://stackoverflow.com/a/4568358/760489

答案 2 :(得分:0)

尝试删除android:maxSdkVersion