转:http://www.eoeandroid.com/thread-68083-1-1.html
我们大家在开发android的时候,一定会用到调试,这个是检验你编写的代码是否正确,我们最好要有一个好的android编程习惯,就是说,当你写完一部分代码时,你就要调试一下,这样也对你邮好处的。当我们调试的时候修改了一下布局文件layout/main.xml,然后ctrl + F11运行, 结果碰到下面的错误:这个是什么问题那,下面我们就来解决它。我们来看看android系统是怎么样给我们提示的。
Java代码:
- [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)之类的无用的删除了。
上面的问题我们就解决了,是不是有点简单了,其实有的时候问题就是这样简单的,我们在遇到问题的时候,首先不要慌乱,在面写代码时出现错误的时候模拟器上没提示我们,如果没有的话我们就可以找一找你的一些资源文件,要不就是没有导好包,主要的错误就是这些,希望这些对大家有帮助。