発生状況
状態:解決済
閲覧数:1,595
投稿日:2014-04-02
更新日:2014-04-02
・プロジェクトにエラーマークの赤✕印が表示される
・プロジェクトを実行した際、ポップアップでエラーメッセージが表示される
・プロジェクトにエラーが含まれているため、アプリケーションを実行する前に修正してください
※具体的なエラー内容が記述されているわけではない
・このエラーメッセージが表示される場合、大きく2パターンに分かれる
A.プログラムや設定に間違いがない場合
B.プログラムや設定に間違いがある場合
A.プログラムや設定に間違いがない場合
・プロジェクト → クリーン
・プロジェクト → リフレッシュ
・eclipse.exe -clean.cmd ダブルクリック
B.プログラムや設定に間違いがある場合
・原因が特定出来るエラーメッセージを探す
・プロジェクトを実行した際、ポップアップでエラーメッセージが表示される
エラーメッセージ
Your project contains error(s),please fix them before running your application
内容
・プロジェクトにエラーが含まれているため、アプリケーションを実行する前に修正してください
※具体的なエラー内容が記述されているわけではない
2パターン
・このエラーメッセージが表示される場合、大きく2パターンに分かれる
A.プログラムや設定に間違いがない場合
B.プログラムや設定に間違いがある場合
A.プログラムや設定に間違いがない場合
・プロジェクト → クリーン
・プロジェクト → リフレッシュ
・eclipse.exe -clean.cmd ダブルクリック
B.プログラムや設定に間違いがある場合
・原因が特定出来るエラーメッセージを探す
実際に遭遇した例
遭遇例
エラーメッセージ
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>