【问题标题】:Android Device Chooser Shows Red X In Target ColumnAndroid 设备选择器在目标列中显示红色 X
【发布时间】:2012-08-15 23:14:07
【问题描述】:

我最近构建了一个 minSdkVersion 为 7 和 targetSdkVersion 为 10 的 Android 应用程序。我现在正在使应用程序平板电脑兼容并添加操作栏。因此,我将 targetSdkVersion 更新为 15,并在我的项目属性中将我的项目构建目标移至 Android 4.0.3,API 15。我还仔细检查了我的 Java 编译器是 1.6。

在不对代码进行任何其他更改的情况下,我尝试运行我的应用并在 Android 设备选择器中,我的两个物理设备(版本 2.3.4 和 3.1)在目标列中都有一个红色 X,而不是绿色复选标记。

我还在使用 ActionbarCompat 示例应用程序和来自 ActionbarSherlock 的示例应用程序,当我运行其中一个应用程序时,我的两台设备都会显示一个绿色复选标记。这两个示例应用程序的项目构建目标都设置为 4.0.3,并且与我的应用程序中的 sdkVersion 设置相同。据我所知,我的应用程序的设置与其他应用程序相同。为什么我的应用在 Target 列中我的设备版本旁边有一个红色 X。

谢谢!

【问题讨论】:

  • 您的应用是否引用了任何库项目?如果是这样,我想知道您是否可以检查您的 project.properties 文件中是否有 manifestmerger.enabled=true 并查看添加/删除它是否会有所不同。
  • @Joe 我刚看到这条评论。添加 manifestmerger.enabled=true 并没有改变任何东西。我包括 ActionBarSherlock 库和 Android 的支持库。当我更改项目构建目标并更新清单时,红色 X 出现在我开始包含任何库之前。
  • 你能给出你正在测试的actionbarcompat的链接吗?
  • @JorgeAguilar 进入 Eclipse,点击 File -> New -> Other 并选择“Android Sample Project”。选择 4.0.3 或 4.1,然后单击下一步。选择靠近顶部的“ActionBarCompat”,然后单击“完成”。 Eclipse 中会出现一个新项目,检查它的 Manifest 文件并使用任何设备进行测试,您应该会得到一个绿色的复选标记而不是红色的 x。

标签: android android-actionbar actionbarsherlock


【解决方案1】:

在 Eclipse 中,更改 minSdkVersion 和 targetSdkVersion 后

如果“Android 设备选择器”仍然在设备上显示红色 X(应该是兼容的)。试试:

  • 打开“调试配置”或“运行配置”对话框
  • 删除“Android应用”下的所有配置
  • 重试右键单击项目 > 调试为 > Android 应用程序

所有兼容的设备现在应该变成绿色复选标记。

【讨论】:

  • 就是这样!!!非常感谢您发布此回复!大家,请为这个答案投票!
  • @Hiep 如果您知道原因,您介意解释一下为什么它会起作用吗?
  • @JDenais 我假设“调试配置”缓存了旧的 minSdkVersion 和 targetSdkVersion,所以在更改它们之后,您应该重新创建“调试配置”(右键单击项目>调试为> 安卓应用)
【解决方案2】:

这是因为您的设备运行的是 Android 版本 2.3.4 和 3.1, 所以你至少必须有 minSdkVersion="10" 。一旦你设置了 minSdkVersion 到 10,然后您将再次获得绿色复选标记。

【讨论】:

  • 问题中提到minSdkVersion已经设置为7了吧?
  • @Joe 是对的,我已经将 minSdkVersion 设置为 7。将其设置为 3 也无济于事。我上面提到的示例代码是 min 3,target 14,我得到了该代码的绿色检查。我不知道示例代码和我的代码有什么不同。
【解决方案3】:

AndroidManifest.xml:

<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="15" />

如果您的清单具有比您的设备更高的“targetSdkVersion”,它将在固件旁边显示“红十字 (X)”。

如果你的 minSdkVersion 高于你的设备,它甚至不会运行

更新:

我测试了示例项目并得到了与我从一开始就澄清的答案相同的结果。 (image of the project running with same specifications as the question)

【讨论】:

  • 这是不正确的,如果您加载 ActionBarCompat 示例,您会看到它使用 3 的 minSdkVersion 和 14 的 targetSdkVersion。当我运行该应用程序时,在与我运行我的应用程序相同的设备上,我获得绿色复选标记。一旦我运行我的应用程序,我就会得到红色的 x。
  • 如果我在项目 > 属性 > Android 中更改“项目构建目标”到比我的设备更高的目标,那么我所做的所有测试都会出现红十字,但如果低于我会出现绿色勾号.你这样做了吗?还是只是更改了清单?导致清单不更新项目构建目标。
  • 我不明白为什么 -1 有任何方式。这是别人给我的第一个。
  • -1 因为您的答案不正确。我基于我对 ActionBarCompat 示例中的代码所做的工作。该项目设置为 min 3 和 target 14,项目构建目标设置为 14,对于任何设备,我一直得到绿色检查。此外,如果您阅读了我的原始问题,那么您不必先回复我的第一条评论。我在那里说是的,我已经更改了我的项目属性和清单文件。 -1,因此其他用户不会阅读您的答案并认为它是正确的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多