カテゴリー:
エラー
閲覧数:598 配信日:2014-04-02 17:58
遭遇例
エラーメッセージ
Your project contains error(s),please fix them before running your application
発生フォルダ
▼/workspace/Activity8/
対象ファイル
▼/res/values/strings.xml
※プロジェクトにだけ赤いXがついている(他のファイルにはついていない、つまりエラーは少なくとも表面上はない状態)
試行するも解決しなかった例
・プロジェクトリフレッシュ … 効果なし
・「eclipse.exe -clean.cmd」で起動 … … 効果なし
原因例
・「/res/values/strings.xml」で必要なフィールドを誤って削除したことが、エラー起因
・プロジェクトにだけ赤いXがついている(他のファイルにはついていない、つまりエラーはない)状態になる理由は、上記エラーに伴い、「/gen/android/style/R.java」ファイルが自動更新されないため(恐らく、「必要フィールド削除」のような想定外エラーには、自動更新対応出来ない、ものと思われる)
対応例
・「プロジェクト」-「クリーン」すると、「R.java」ファイルが更新され(今回のケースで言えば、クリーンをクリックした時点で、「R.java」ファイルが削除)、エラー該当箇所が、ファイルにも表示されるようになる
・なお、「eclipse.exe -clean.cmd起動」と、「プロジェクト - クリーン」は、意味が全く異なる
・「eclipse.exe のcleanオプション」は、あくまでも、Eclipseランタイム(Eclipseのコア部分)が使用するキャッシュデータをクリアするための処理であるため、例え、実施したとしても、「プロジェクト - クリーン」を実施したことには、全くならない
対象ファイル
▼/res/values/strings.xml
・修正前
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="msg">press the <i>right</i> button</string>
<string name="app_name">Sampleプログラム</string>
<string name="hello">hello</string>
</resources>
・修正後
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="msg">press the <i>right</i> button</string>
<string name="app_name">Sampleプログラム</string>
<string name="hello">hello</string>
<string name="hello_world">Hello world!</string>
<string name="menu_settings">Settings</string>
<string name="title_activity_main">MainActivity</string>
</resources>