Android应用在低于目标SDK版本的设备上无法启动

5
我刚从Android SDK管理器中下载了最新版本的SDK,并将我的应用程序项目构建目标设置为Google API的17级,如下所示:

enter image description here

然后在我的应用程序AndroidManifest.xml中添加了以下内容:
<uses-sdk 
   android:minSdkVersion="3" 
   android:targetSdkVersion="17" 
   android:maxSdkVersion="17" />

加载了2.2版本的Level 8模拟器,尝试在该模拟器上启动应用程序。每当我运行应用程序时,它会显示“找不到兼容的目标”(我知道我可以为级别17创建AVD,但想在级别8的模拟器上启动),而我的AndroidManifest.xml中有android:minSdkVersion="3"。
我进行了大量研究,但没有找到合适的答案。
然后我将项目构建目标更改为Android 4.2级别17,如下所示:
App开始在低于17级的所有模拟器上启动。
但我仍然不知道是什么限制了应用在较低版本模拟器上启动,即使项目构建目标是Google APIs 17级。
3个回答

1

Google APIs Add-On是Android SDK开发环境的扩展,可让您为包括Google自定义应用程序、库和服务的设备开发应用程序。该附加组件的核心功能是Maps外部库,它可以为您的Android应用程序添加强大的地图功能。

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


我已经启动了带有Google APIs支持库的模拟器,但是应用程序仍无法在其上启动。 - Vinayak Bevinakatti

1

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

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

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

https://dev59.com/D2455IYBdhLWcg3wD_sB#4568358


0

尝试移除 android:maxSdkVersion


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接