<< Android-Note
R.javaが消える現象
xmlファイルにエラーがでている場合、ビューやリソースなどのIDの情報が書かれているR.javaが生成されないときがあります。
例えば、リソースを編集するためにxmlファイルを編集しているときに急に次のようなエラーが出ることがあります。
error: Found text "" styles.xml /MyApp/res/values line 18 Android AAPT Problem
ちなみにエラーが発見されたのは次のような個所でした。
<style name="Theme.MyTheme" parent="Theme.Sherlock.Light" >
<item name="android:tabStripEnabled" >false</item>
</style>
一見すると何も問題がないように見えるためいろいろな箇所を修正しても、まったく治りません。
そこでeclipseを閉じて再起動したところxmlファイルのどこが問題か分かりました。
<style name="Theme.MyTheme" parent="Theme.Sherlock.Light" >
<item name="android:tabStripEnabled" >false</item>
</style>"
上のようにstyle要素の終了タグの後になぜか一文字だけ"が入っていたためにエラーが起きていたようです。
このようにR.javaが作成されない原因のほとんどはxmlファイルにあります。
そのほかの原因
R.javaが消えてしまう現象はレイアウトファイルのIDがない場合にも起こります。たとえば次のようなレイアウトファイルです。
<LinearLayout
android:id="@+id/"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:orientation="vertical" >
id属性がありますがID名が空になっています。
このようにid属性があるにも関わらずそこにID名が入っていないような場合もR.javaは生成されないので注意が必要です。
© Kaz