无法解析目标“android-16”

49

我使用的是Android 4.2.2。安装了最新的SDK后,当我打开eclipse时,我发现所有项目在构建过程中都出现了问题。以下是我遇到的错误。请告诉我如何解决?

Unable to resolve target 'android-16'

5
你安装了API 16吗? - Raghav Sood
我已经安装了最新的ADT和SDK以及最新的Eclipse。如何检查版本? - user1822729
在SDK管理器中,我可以看到已安装Android 4.2.2 API 17。 - user1822729
3
在同一个SDK管理器中,您将有一个选项来安装Android 4.0,也称为API 16。安装它。 - Raghav Sood
1
可以告诉我如何让我的现有项目使用API 17吗? - user1822729
@RaghavSood 真的很烦人看到这样轻蔑的人把除了他们自己以外的所有人都当作残障白痴。 来到这个问题的人显然已经安装了它... 另外,API 16是4.1,而不是4.0。 - Virus721
13个回答

73

我曾经遇到过同样的问题,在更新之后,我也遇到了类似的错误。

可以通过手动编辑project.properties文件并将android-16部分更新为您安装的最新版本来解决此问题。在您当前的情况下,应该是android-17

我想也可以使用Android ADT进行配置,但我无法弄清楚,这种方法更快一些。

此外,您还需要更新您的清单,确保已将android:targetSdkVersion设置为17。


1
谢谢Veger。这解决了实际问题。但现在我的项目无法处理R文件。 setContentView(R.layout.about);如何解决? - user1822729
你不应该修改project.properties文件。#此文件是由Android工具自动生成的。 #不要修改此文件--您的更改将被擦除! - Will Vanderhoef
你说得没错,但在写这篇文章的时候,这确实是唯一解决问题的方法。尽管文件中的注释确实表明了修改会被还原,但实际上并没有发生。现在有另一个答案,使用工具来提供解决方案(我没有测试过),这成为使用工具或直接编辑文件之间偏好的问题(显然也可以通过工具完成)。由于这种方法似乎对其他人也有效,所以我会保留这个答案。 - Veger
我必须将17改为18。 - Bilbo Baggins
谢谢你,这真的节省了我很多时间 :) - Kairi San
显示剩余4条评论

35

如果您正在使用Eclipse,请尝试将目标构建更改为高于API 17的版本(右键单击->属性->Android->项目构建目标)。

如果这样可以解决错误,请在之后将目标构建更改回API 17。

当我导入android-support-v7-appcompat时遇到了此问题,将目标构建来回更改解决了我的问题。


3
与被接受的答案不同,这个解决了我的问题。清理项目不会解决问题,但是奇怪的是来回切换构建目标的操作起作用了。 - Will Vanderhoef
当我添加android-support-v7-appcompat时,我遇到了这个问题:D - hqt
你真是个救命恩人!! - Kapil Jituri

7
值得注意的是:
我的project.properties文件中的target似乎被设置为target=Google Inc.:Google APIs:18。然而,它似乎在其他地方被设置为16。我不得不将其更改为target=Google Inc.:Google APIs:16,保存,然后再将其保存回18,然后它才能正常工作。

这对我很有帮助,因为前两个最佳答案都没有帮到我。 - cjmling
也帮了我很大的忙。但为什么还没有提交 bug 呢? - joey rohan

6
从Android SDK Manager中安装API版本16的Android SDK工具。

4
有时即使项目属性和 AndroidManifest.xml 中的 android:targetSdkVersion 都是当前 SDK 版本,也会出现这种情况。 如果所有内容都是最新的且匹配的,请尝试重启 Eclipse。(这有时确实有效。)

2
为解决“无法解析目标'android-16'”问题,需为库项目设置targetSDKversion,例如“android-support-v7-appcompat”。
  1. 展开库项目
  2. 从库文件中(而不是应用程序中的文件)打开清单文件
  3. 在标签下,将“Target SDK版本”指定为已安装的SDK版本(例如18)
  4. 重建库和应用程序(或重新启动Eclipse)
这样就可以解决问题了。

enter image description here


1
在Eclipse中,我做了上述所有步骤,但错误并没有消失。然后我简单地重新启动了Eclipse,问题就解决了 ;) 因此,请按照上述步骤操作,然后重新启动Eclipse!

1

我检查了两个项目的project.properties文件,发现它们的目标版本都是18,没有找到版本16。不知怎么地,重启Eclipse解决了这个问题。


1
值得注意的是,在Ubuntu 12.04下,我安装了API版本16的Android SDK工具,退出并重新启动Eclipse,就解决了问题,而不需要将目标更改为版本16,然后再改回18。

1

无法解析目标“android-16”

请确保您使用的版本,并在所述文件中设置该版本。

要解决此问题,我们需要按以下方式更改3个文件。

project.properties(target = android-18)

AndroidManifest.xml(android:targetSdkVersion =“18”)

\bin\AndroidManifest.xml(android:targetSdkVersion =“18”)

如上所述,这3个文件具有相同的版本号。


你的回答如果有更多格式,尤其是将代码与文本分开,将会更加受到欣赏。谢谢。 - philant

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