8最近刚开始学习Android,根据各位大侠的学习示例,自己敲代码,研究了一下Android的代码结构。
当发现个怪问题,第一次 调试正常,到后面修改了布局文件layoutmain.xml,然后ctrl + F11运行, 结果碰到下面的错误:
[2010-06-26 16:48:10 - ListViewDemo] Error in an XML file: aborting build.
[2010-06-26 16:48:10 - ListViewDemo] reslayoutmain.xml:0: error: Resource entry main is already defined.
[2010-06-26 16:48:10 - ListViewDemo] 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)之类的无用的删除了。
|