Android SDK主要输出文件main.out.xml解析错误?

55

我刚开始了一个新的Android项目,“WeekendStudy”,用来继续学习Android开发,但在编译和运行默认的“hello weekendstudy”时遇到了问题。我认为自己在配置和设置方面漏掉了一步,但我不知道具体是哪一步。我已经配置好了AVD并且启动了它。

当我按下“运行”按钮时,SDK正在构建一个名为main.out.xml的文件,然后失败了,错误信息如下:

[2010-03-06 09:46:47 - WeekendStudy]Error in an XML file: aborting build.
[2010-03-06 09:46:48 - WeekendStudy]res/layout/main.xml:0: error: Resource entry main is already defined.
[2010-03-06 09:46:48 - WeekendStudy]res/layout/main.out.xml:0: Originally defined here.
[2010-03-06 09:46:48 - WeekendStudy]/Users/mobibob/Projects/workspace-weekend/WeekendStudy/res/layout/main.out.xml:1: error: Error parsing XML: no element found
[2010-03-06 09:48:16 - WeekendStudy]Error in an XML file: aborting build.
[2010-03-06 09:48:16 - WeekendStudy]res/layout/main.xml:0: error: Resource entry main is already defined.
[2010-03-06 09:48:16 - WeekendStudy]res/layout/main.out.xml:0: Originally defined here.
[2010-03-06 09:48:16 - WeekendStudy]/Users/mobibob/Projects/workspace-weekend/WeekendStudy/res/layout/main.out.xml:1: error: Error parsing XML: no element found
[2010-03-06 09:55:29 - WeekendStudy]res/layout/main.xml:0: error: Resource entry main is already defined.
[2010-03-06 09:55:29 - WeekendStudy]res/layout/main.out.xml:0: Originally defined here.
[2010-03-06 09:55:29 - WeekendStudy]/Users/mobibob/Projects/workspace-weekend/WeekendStudy/res/layout/main.out.xml:1: error: Error parsing XML: no element found
[2010-03-06 09:55:49 - WeekendStudy]Error in an XML file: aborting build.
[2010-03-06 09:55:49 - WeekendStudy]res/layout/main.xml:0: error: Resource entry main is already defined.
[2010-03-06 09:55:49 - WeekendStudy]res/layout/main.out.xml:0: Originally defined here.
[2010-03-06 09:55:49 - WeekendStudy]/Users/mobibob/Projects/workspace-weekend/WeekendStudy/res/layout/main.out.xml:1: error: Error parsing XML: no element found

1
我想我有答案了。我没有运行正确的源代码。我在这个网上论坛找到了一个提示。http://www.anddev.org/viewtopic.php?p=31088 - mobibob
这里有一个关于Eclipse的相关错误报告:https://bugs.eclipse.org/bugs/show_bug.cgi?id=287951。解决方案似乎是“不是我的问题”。 - Mu Mind
错误报告给出了一个对我有效的解决方案:帮助 -> 安装新软件 -> 已安装 -> XSL 工具 -> 卸载。 - Thomas Rebele
16个回答

94

更好的修复方法: Eclipse -> 窗口 -> 首选项 -> 运行/调试 -> 启动 -> 启动配置

交叉:勾选启动配置类型过滤器, 同时交叉:勾选XSL(列表末尾)


我的列表中没有XSL。 列出的唯一项目(全部未选中)是可运行单元(例如应用程序,junit,android等) - 那么这是排除还是包含列表? 顺便说一句,对于这个答案我给一个+1,因为这是我希望听到的配置设置类型。 - mobibob
@mobibob:你确定你去了窗口->首选项->运行/调试->启动->启动配置,还是只是打开了运行配置下的->运行?它们是不同的地方。 - Thomas Dignan
@Tom Dignan - 我最终找到了正确的配置对话框。在 Mac 上,您所指的首选项位于 Eclipse -> 首选项 -> 运行/调试 -> 启动 -> 启动配置下。 - mobibob
5
这似乎是朝着正确方向迈出的一步,但我的Eclipse(Helios)安装仍然在我点击“运行”按钮时将其作为XSL转换启动,尽管现在“运行配置”列表中已经没有XSL了。启动后,它会将“XSL转换”添加到上下文菜单中的“运行为”条目中。 - Mu Mind
8
我和Mu Mind一样,也遇到了Eclipse(Indigo)的问题。后来我找到了一个解决方法,就是将运行按钮设置为始终启动上一次操作:Eclipse -> 窗口 -> 首选项 -> 运行/调试 -> 启动 -> 启动操作 -> 始终启动先前启动的应用程序。 - DonnaLea
显示剩余4条评论

27

我也遇到了同样的问题。

为了防止创建out.xml文件,请按照以下步骤:

  1. 编辑一个XML文件,这是一件非常自然的事情......

  2. 保存并关闭XML文件

  3. 打开src/中的任何.java文件

  4. 双击文件以确保它获得焦点,并且光标在其中。

  5. 现在应该可以正常运行...

如果仍然出现问题,请执行以下操作...

  1. 编辑一个XML文件,这是一件非常自然的事情......

  2. 运行...由于可怕的out.xml文件而崩溃

  3. 删除/res/___.out.xml文件

  4. 关闭IDE视图中的所有文件

  5. Project...Clean...

  6. 打开src/中的任何.java文件

  7. 双击文件以确保它获得焦点,并且光标在其中。

  8. 现在应该可以正常运行...


1
只有这个答案和其他由用户<某个大数字>提供的答案可以告诉你如何解决它,不知道楼主为什么选择了错误的答案。 - GoodSp33d

11

您应该将项目作为Android应用程序运行,而不仅仅是点击图标-运行


嗨王,我认为您正在报告已经发现的内容。有趣的是Eclipse几乎可以运行任何东西,而我最近正在访问一个layout-xml文件。因此,默认工具栏上的“调试”按钮尝试“调试”我的xml文件。这有点愚蠢了。感谢您添加评论。 - mobibob
这正是发生在我身上的事情!谢谢!被接受的答案中的解决方案没有提到正在发生什么,尽管他们说如何在未来摆脱“launching”主xml文件,这就是问题所在。 - inkredibl

8

如果仍然无法运行,请删除 xxx.out.xml 文件,然后按照以下步骤操作:

Eclipse -> 项目 -> 清理... -> 选择你的项目 -> 确定

将光标置于 *.java 文件中,然后运行它。


1
我真的不知道这个问题有多久了,但是上面有很多答案告诉了如何正确启动它,而这个回答则告诉了如何修复它,我给一个赞 :) - GoodSp33d

5

因为我的工具栏没有正确连接,所以我试图从项目的错误部分运行。我仍在解决细节问题,当我完全弄清楚时,我会进行编辑。

首先,这是一个新的工作区,我想创建它来组织我的不同无关项目。因此,工具栏的“RUN”没有配置目标(即在历史记录中),所以它尝试运行我的main.xml文件。

右键单击其中一个*.java文件,选择“run as...”,然后可以创建一个运行配置及其目标(选择或创建AVD)、项目等。我建议访问每个选项卡并查看您情况下的默认值。

然后,坐下来等待仿真器第一次加载(我的Macbook大约需要1到2分钟)。


2
这似乎是Eclipse的XML插件之一出现了问题,我认为它与Web工具有关。我曾经能够从任何文件(无论是XML还是Java)中运行应用程序,但是一旦安装了Web工具,我就开始看到这个错误。这真的很烦人,我已经习惯了按Ctrl-F11来构建应用程序……但如果你在XML文件中这样做,你会得到这个错误。上面提到的修复方法确实有效,但需要额外的步骤,并且选择“Run As…”不够高效。如果有人找到了一个干净的解决方案 - 当然除了移除Web工具以外 - 来帮我恢复我的快捷键,我会非常感激。

1

我也遇到了这个问题,感到非常沮丧。我卸载了整个Android SDK并重新安装,心里想着可能有一些问题。

令我惊讶的是,解决方案非常简单。如果你在xml文件上保持鼠标点击状态并运行,它会生成错误。所以解决方案很简单。点击.java文件或整个树的顶部(例如:如果结构像这样:Firstapp>Src>Firstapp.java,只需点击Firstapp),然后运行。


1
抱歉你也遇到了这个问题 :( 这是非常普遍且容易遇到的问题,不过你的解决方案可能有效是因为你重新安装了SDK并创建了一个新项目。但是,如果你犯了错误并生成了任何*.xml.out文件,你的项目将无法清理、运行等,直到你明确删除这个问题文件。我建议你遵循@Hugo Garcia-Cotte的建议,这将防止Eclipse尝试无意中运行任何XML文件。 - mobibob

0

@neil patel > 只是重新陈述上面的答案...如果需要澄清,请告诉我。

右键单击其中一个 *.java 文件,然后选择“运行为...”,然后您可以创建一个运行配置,包括其目标(选择或创建 AVD)、项目等。我建议访问每个选项卡并查看适合您情况的默认值。


0

我遇到了这个问题,但是上面的答案并没有帮助我。经过一番搜索,我自己解决了这个问题,我认为我应该把解决方案写下来。

如果你将项目作为XSL运行,Android编译器会创建*.out.xml文件。要解决这个问题,你需要执行以下步骤:

  • 点击运行按钮右侧的箭头,选择“Run Configurations”。在弹出窗口的左侧,删除XSL下的所有子项。
  • 进入“Preferences”=>“Run/debug”=>“Launching”下的“Launch configuration”。勾选“Filter checked launch...”,然后在保持对“Android Application”的勾选的同时,取消对XSL的勾选。

0

尝试一下,检查一下有效的源代码是否正在运行。

如果仍然无法运行,请删除xxx.out.xml文件,然后按照以下步骤操作: Eclipse ->项目->清理...->选择您的项目->确定


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