在低于项目目标API版本的设备上从Eclipse运行

问题描述:

最新版本的AdMob SDK(唯一可下载的版本)需要项目属性中的target=android-14。这并不妨碍人们在较低版本的平台上运行应用程序(假设它们与minSdkVersion兼容),但Eclipse“运行”菜单过滤掉平台版本小于target的所有设备(虚拟和真实)。典型的情况在低于项目目标API版本的设备上从Eclipse运行

  • minSdkVersion集到Android 2.1(API 7)
  • target设置为ICS(API 14),否则你将无法编译该项目,因为在清单有错误,由于为configChangessee this question)新值

可以运行任何设备> =埃克莱尔在命令行上的应用程序,因为Eclipse过滤掉任何设备< 14.这使得对仿真器进行测试困难。我使用最新版本的ADT(r19)和Eclipse插件(18.0)

它真的会过滤掉它们,还是只有一个红色的X旁边?你仍然可以点击这些设备来运行应用程序。令人讨厌的是,Eclipse抱怨你的仿真器/设备低于目标版本。

仅供参考,SDK需要最少target=android-13才能支持screenSize|smallestScreenSize configChanges。

+1

它们被过滤掉。当我将'target'切换回某个值时,出现红色X,然后Eclipse插件一直显示该图标。但是,当我重新启动Eclipse(或重新编译的东西)时,设备不可用。您对configChanges是正确的,但如果您没有在清单中定义它们,Admob会在运行时抱怨 – Raffaele 2012-04-21 09:27:33

+0

是的,AdMob需要''为了运行,并且正如我的回答中所提到的,最后两个配置更改需要'project = android-13'或更高的project.properties。当然,在清单中,您可以将“minSdkVersion”和“targetSdkVersion”更改为任何您想要的。所有版本的设备的红色X低于project.properties版本。低于minSdkVersion的设备将不会运行该应用程序。 – 2012-04-23 18:22:19

+0

在过去,我遇到了Eclipse只是无法识别我正在运行的模拟器的问题。当发生这种情况时,我运行了adb kill-server(如果需要,adb start-server),然后Eclipse拿起运行的模拟器。 – 2012-04-23 18:24:38