Android程序调试时生成main.out.xml文件
今天在调试一个Demo时,修改了布局文件layout\main.xml,然后ctrl + F11运行, 结果碰到下面的错误:
[2010-06-26 16:48:10 - ListViewDemo] Error in an XML file: aborting build.
[2010-06-26 16:48:10 - ListViewDemo] res\layout\main.xml:0: error: Resource entry main is already defined.
[2010-06-26 16:48:10 - ListViewDemo] res\layout\main.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,对话框如下:
这里可以看到main.xml也会出现XSL结点下,这时可以删除它们。
总觉得这样实在太麻烦了,因为布局文件是经常改动的,快捷键会经常使用的。不能每次改完main.xml都要把焦点切换到另一个java文件吧或者去点鼠标。
后来发现可以在Eclipse里面配置,菜单Windows->Preference,选择结点Run/Debug->Lauching,Lauch Operation选择第一项。
这样即使当前编辑文件是xml的话,也不会去转换这个xml文件了,而是去运行之前运行过的工程,前提是当前工程运行过一次并且要在之前的Run Configurations把Xsl结点下的main.xml, main.xml(1)之类的无用的删除了。
转自:http://www.cnblogs.com/chunhui588/archive/2010/06/26/1765863.html