エラー「Resource entry main is already defined」

毛利です。

「初めてのAndroid」P.32 でハマった。


初めてのAndroid
初めてのAndroid
posted with amazlet at 11.04.23
Ed Burnette
オライリージャパン
売り上げランキング: 213295

症状

実行するとこんなエラー。

[2011-04-22 19:11:31 - Sudoku] Error in an XML file: aborting build.
[2011-04-22 19:11:31 - Sudoku] res/layout/main.xml:0: エラー: Resource entry main is already defined.
[2011-04-22 19:11:31 - Sudoku] res/layout/main.out.xml:0: Originally defined here.
[2011-04-22 19:11:31 - Sudoku] /Users/yuusuke_ap/Documents/workspace/Sudoku/res/layout/main.out.xml:1: エラー: Error parsing XML: no element found


適当に訳してみると

XML file のビルドに失敗。
リソース main は既に定義されてます。
XML:要素が見つかりません。

ってところか。

原因

どうやら P.33 の「リスト3-6」で main.xml を更新して、そのまま実行したのがまずかったらしい。

対処

  • main.out.xml を削除(数回実行しててたくさんあればそれも。要は main.xml だけ残す)
  • プロジェクト(ここでは「Sudoku」)を選択して実行


以下 図解。

  • 実行

  • エラー発生

  • クリーンを試してみる

  • 解決せず涙目。実行したら「エラー解決してからやれや」的なエラー。。

  • main.xml だけ残して他の xml は削除

  • Sudoku」の右クリックから実行


できた!(gen は自動作成されました


ユーザ名出ちゃってるけどまいっか。

ではではー。