将旧的Android项目导入Eclipse时缺少AndroidManifest.xml

时间:2010-12-10 00:26:36

标签: android eclipse

我有一个在Eclipse(GNU / Linux)上开发的Android项目,这是我在半年前提到过的。我正在尝试使用File - >将项目导入到安装了ADT的Windows上的Eclipse 3.6中。在Eclipse中导入项目。导入项目时,我在控制台上看到以下错误两次:

  

[2010-12-10 02:17:12 -   com.android.ide.eclipse.adt.internal.project.AndroidManifestHelper]   无法阅读C:\ Program   文件\ Android的\ Android的SDK-WINDOWS \ AndroidManifest.xml中:   java.io.FileNotFoundException:   C:\ PROGRAM   文件\ Android的\ Android的SDK-WINDOWS \ AndroidManifest.xml中   (系统找不到该文件   指定)

为什么Eclipse在Android SDK路径上寻找AndroidManifest.xml?该文件实际上似乎在项目的目录中。如何解决此问题并使项目编译?

20 个答案:

答案 0 :(得分:46)

一个简单的解决方案是重新导入AndroidManifest.xml文件或对文件进行更改并保存。这对我有用。

答案 1 :(得分:26)

  

如果您看到有关AndroidManifest.xml的错误或某些问题   与Android zip文件相关,右键单击该项目并选择   Android工具>修复项目属性。 (该项目正在寻找   库文件的位置错误,这将为您解决。)

来自:http://developer.android.com/resources/tutorials/notepad/notepad-ex1.html

答案 2 :(得分:21)

将Android项目导入Eclipse的方式是错误的。正确的做法是File -> New Android Project。在“新建Android项目”的“内容”选项卡中,选择“从现有源创建项目”,然后选择“构建目标”。这应该可以解决你的问题。

答案 3 :(得分:6)

似乎产生了此错误,因为Eclipse认为新Android项目的默认位置是Android SDK路径。即使项目位置发生了变化,也无法解决错误,因此诀窍是在Eclipse知道产生错误的条件之前更改项目位置。

为了规避这个怪癖我使用以下步骤导入了旧项目:

  1. 文件 - >新 - > Android项目
  2. 取消选中“使用默认位置”并浏览到项目根目录。
  3. 点击“从现有来源创建项目”
  4. 在(3)之前执行步骤(2)非常重要,否则错误仍然存​​在并阻止运行项目。

答案 4 :(得分:4)

而不是使用File --->新的Android项目 - > “从现有来源创建项目”,这将导致您看到的错误,选择“从现有样本创建项目”并从下拉列表中选择它。这会奏效。

经验丰富的JAVA开发人员倾向于使用通常存在的第一个选项,适用于经典的Eclipse项目。但这不是你的典型项目,我打赌谷歌开发人员将这个特殊情况放在向导中以适应差异。

答案 5 :(得分:4)

我有同样的问题,以上所有都没有用。我清理了项目并且工作正常。

答案 6 :(得分:3)

我在使用Facebook SDK时遇到了这个问题,现在我通过这样做解决了这个问题:

  1. 关闭项目;
  2. 将“AndroidManifest.xml”文件复制到项目的根路径;
  3. 打开项目并刷新它,它就完成了!

答案 7 :(得分:3)

我遇到了同样的问题。我正在尝试编译JakeWharton视图页面示例,因此我在不同文件夹中的目录中检出了GIT,然后检查了导致问题的工作区。

Eclipse正在维护2个文件夹: 1.在工作区目录下创建了一个新的工作区文件夹,eclipse检查库和其他源代码,包括AndroidManifest.xml文件 2.不在Root工作区

下的现有文件夹

要在导入后解决问题,我必须手动移动eclipse创建的新工作区文件夹中的文件。

答案 8 :(得分:3)

顺便说一下,这对我有用:

我将项目名称更改为我要导入的项目的确切名称。

答案 9 :(得分:2)

Eclipse的命名约定似乎有些脆弱。导致此错误的原因之一是项目名称与工作区中的文件夹名称之间存在差异。我将名为“HelloDialogs”的项目的zip文件导入名为“HelloDialog”的工作空间文件夹中。这导致“AndroidManifest.xml文件丢失”错误。一旦我正确地重命名了文件夹,一切正常。

答案 10 :(得分:2)

由于这里有多个不同的答案,我想我还要添加另一个对我有用的答案,因为我在使用Phonegap android开发工具时遇到了完全相同的问题。

所以我发现(正如Gintautas在对已接受答案的评论中所提到的),我必须使用phonegap'create'脚本创建一个新项目,然后将项目导入eclipse。让它成功运行的唯一方法是,如果项目最初是在某个临时文件夹中创建的,而不是我实际想要使用它的地方。

所以我在cmd窗口中在这样的窗口中创建了一个项目......

c:\phonegap\phonegap-2.6.0\lib\android\bin>create.bat c:\temp\android_boilerplates\test app.test test

然后我像这样在eclipse中导入项目......

档案>新>项目

在新项目向导中,选择:“现有代码中的Android项目”

点击“下一步”

enter image description here

现在导航到项目的临时位置并将其设置为根目录,检查所需的项目并选中“将项目复制到工作区”,如下例所示...

点击“完成”

enter image description here

就是这样,Eclipse应该将所有项目文件复制到你的工作区中,你的项目中不应该有任何错误(手指交叉)。

你的项目应该是这样的......

enter image description here

希望有所帮助,我花了一个时间来弄清楚为什么当新项目与现有代码设置在同一个地方时,Eclipse不喜欢从现有代码创建新项目。这对我使用的其他语言来说不是问题,所以它有点奇怪,但可以理解,因为Eclipse(我猜)似乎想要覆盖某些文件。

答案 11 :(得分:1)

Eclipse随机决定创建另一个文件夹而不是我指定的文件夹,但其中没有任何资源或数据或布局等。

我猜它有一些冲突.. 无论如何,这是一个菜鸟方法,将原始文件复制到其他位置(我把它放到桌面上)..

现在创建新项目 - 创建现有项目,从桌面选择此项目,n VOILA ..一切正常......:D

答案 12 :(得分:1)

我对这个游戏来说有点晚了但是我通过将初始应用程序生成到我将要处理的确切位置来引起同样的问题。也就是说我把它直接放到我当前的工作区。然后我将文件,导入,现有Android代码放入Workspace。导入过程消除了我的android.xml文件。

我尝试了以上解决方案而且没有任何快乐。然后我将初始应用程序生成到临时目录并从那里导入。这对我有用。

答案 13 :(得分:0)

将项目导入eclipse工作区的唯一方法是创建一个空项目,然后将所有文件夹和文件拖放到此项目中。为什么这是超出我的。 Raunak的答案是错误的。

答案 14 :(得分:0)

我在Android项目的根目录中找到了一个.classpath文件。我打开它并更新了文件路径,它似乎解决了我的问题。

答案 15 :(得分:0)

当我尝试使用SVN中的最新代码更新旧项目时遇到了问题。我将Manifest.xml导出到我的本地文件系统作为备份并删除它。然后我将我的完整项目从SVN恢复到最新版本,然后它起作用了:)

答案 16 :(得分:0)

这是我必须要做的才能让它发挥作用。幸运的是,我有早期“项目”的备份。

1)照常导入项目。 2)如果出现空xml等错误,请关闭项目。 3)如果您有备份,请转到原始项目。 4)复制所有项目的根文件和目录,并将其粘贴到Eclipse期望项目根目录和文件的位置。 5)打开项目并刷新。必要时做“干净”,你就完成了!

总是进行备份,因为Eclipse f-kups!当突然我的Android项目因空清单文件而拒绝工作时,我学到了很多东西。

答案 17 :(得分:0)

有时如果您自动修复MainActivity IDE导入android.R类中的导入而不是将为项目生成的导入。删除导入并重新编译。

答案 18 :(得分:0)

从其他工作区导入项目时,在工作区中添加现有项目。并勾选到工作区中的复制项目。然后从project.properties文件中检查api级别和支持库。然后重建项目并清理它..它对我有效。

答案 19 :(得分:0)

2017解决方案:更简单且经过测试的解决方案是从elipse项目中删除您的应用程序文件夹,然后再次导入它,问题将立即解决!

相关问题