【问题标题】:Running from Eclipse on devices lower than project's target API version在低于项目目标 API 版本的设备上从 Eclipse 运行
【发布时间】:2012-04-20 22:59:33
【问题描述】:

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

  • minSdkVersion 设置为 Android 2.1 (API 7)
  • target 设置为 ICS (API 14),否则由于 configChanges (see this question) 的新值导致清单中存在错误,您将无法编译项目

您可以使用命令行在任何设备上运行应用程序>= Eclair only,因为 Eclipse 会过滤掉任何

【问题讨论】:

    标签: android eclipse admob


    【解决方案1】:

    它真的会过滤掉它们,还是它们旁边只有一个红色的X?您仍然可以单击这些设备来运行该应用程序。 Eclipse 抱怨您的模拟器/设备低于目标版本,这很烦人。

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

    【讨论】:

    • 它们被过滤掉了。当我将target 切换回某个值时,会出现红色 X,然后 Eclipse 插件会不自觉地显示该图标。但是当我重新启动 Eclipse(或重新编译某些东西)时,设备不可用。您对 configChanges 的看法是正确的,但是如果您没有在清单中定义它们,Admob 会在运行时抱怨
    • 是的,AdMob 需要 <activity android:name="com.google.ads.AdActivity" android:configChanges="orientation|keyboard|keyboardHidden|screenLayout|uiMode|screenSize|smallestScreenSize"/> 才能运行,正如我在回答中提到的,最后两个配置更改需要 project.properties 中的 target=android-13 或更高版本。当然,在清单中,您可以将 minSdkVersiontargetSdkVersion 更改为您想要的任何内容。其版本低于 project.properties 版本的所有设备的红色 X。低于 minSdkVersion 的设备将无法运行该应用。
    • 过去我遇到过 Eclipse 无法识别我正在运行的模拟器的问题。发生这种情况时,我运行 adb kill-server(必要时还运行 adb start-server),然后 Eclipse 启动了正在运行的模拟器。
    • 如果你手动选择设备,那么所有兼容的设备都会出现(和红色的“X”一起出现,但这没关系),但它不适用于自动运行。我认为 AdMob 可以做得更好,因为大多数设备仍然运行 2.2
    • 好点,我忘了说我正在运行手动选项。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-26
    • 2016-10-27
    • 1970-01-01
    • 2012-10-05
    • 2018-03-11
    相关资源
    最近更新 更多