小菊花 发表于 2013-8-28 16:29

Android程序调试时生成main.out.xml文件 导致运行不了

8最近刚开始学习Android,根据各位大侠的学习示例,自己敲代码,研究了一下Android的代码结构。   
当发现个怪问题,第一次 调试正常,到后面修改了布局文件layoutmain.xml,然后ctrl + F11运行, 结果碰到下面的错误:   
Error in an XML file: aborting build.   
reslayoutmain.xml:0: error: Resource entry main is already defined.   
reslayoutmain.out.xml:0: Originally defined here.   
   
   
同时在layout目录下又生成了一个空的main.out.xml文件,觉得很奇怪。   
   
后来发现是Eclipse的问题,修改完main.xml后,当前激活的Tab页还是main.xml,所以Eclipse默认就会用xslt转换这个xml文件。   
为了解决这个问题,先删除layout目录main.out.xml文件,再选择菜单Project->Clean来Rebuild当前的工程。在Package Exploer选中当前工程右键Run as->Android Application即可运行工程。或者打开任一当前工程的java文件,ctrl+F11就会出现Run as的对话框,同样选择Android Application即可。   
   
运行过一次工程后,就会在工具栏的Run as下拉框里面出现之次运行过的工程, 点击下拉的菜单一样可以运行工程。这里的之前跑过的工程可以在菜单Run->Run Configurations中文下:【运行->运行配置】,对话框如下:   
   
对话框默认为:节点名字为:XSL------main.xml(2) 字样如果你多次错误运行 , 就有很多main.xml(1), main.xml(2) 的列表   
   
这时可以删除它们。   
   
   
每次这样操作总觉得实在太麻烦了,因为布局文件是经常改动的,快捷键会经常使用的。不能每次改完main.xml都要把焦点切换到另一个java文件吧或者去点鼠标。   
后来发现可以在Eclipse里面配置,菜单 的窗口->首选项 ,选择结点运行/调试->最后 启动项 选择第一项 内容为:始终启动先前启动的应用程序(C)   
   
   
这样即使当前编辑文件是xml的话,也不会去转换这个xml文件了,而是去运行之前运行过的工程,前提是当前工程运行过一次并且要在之前的Run Configurations把Xsl结点下的main.xml, main.xml(1)之类的无用的删除了。   
   
页: [1]
查看完整版本: Android程序调试时生成main.out.xml文件 导致运行不了