Android程式除錯時生成main.out.xml檔案

月盡天明發表於2012-02-15

今天在除錯一個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.

image

同時在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,對話方塊如下:

image

這裡可以看到main.xml也會出現XSL結點下,這時可以刪除它們。

總覺得這樣實在太麻煩了,因為佈局檔案是經常改動的,快捷鍵會經常使用的。不能每次改完main.xml都要把焦點切換到另一個java檔案吧或者去點滑鼠。

後來發現可以在Eclipse裡面配置,選單Windows->Preference,選擇結點Run/Debug->Lauching,Lauch Operation選擇第一項。

image

這樣即使當前編輯檔案是xml的話,也不會去轉換這個xml檔案了,而是去執行之前執行過的工程,前提是當前工程執行過一次並且要在之前的Run Configurations把Xsl結點下的main.xml, main.xml(1)之類的無用的刪除了。

相關文章