2011年6月5日 星期日

Android故障排除_R.java消失可能的解決方法

剛剛想在練習程式上加一些其他的Activity,所以製作了另一個layout的xml,但是在java檔裡面要setContentView的時候,intellisense卻一直出現問題,就讓我想到該不會是專案壞掉了吧?這時候突然想到當時去上課的時候,老師說:R.java刪掉,系統又會自動產生,所以我就......刪了他。

結果,R.java不但沒有自動產生,反而全部用到R的都顯示錯誤了。XD

我亂猜的→R.java裡面有紀錄著專案的相關配置,因為剛剛加入的layout可能有些問題導致R.java有錯誤,才會造成intellisense沒有正確的反應,而手動把R.java刪掉後,也因為有問題的layout還是存在,所以也無法正確產生。

那理論上,如果專案有問題該怎麼辦勒?

以下是可以嘗試的設定:
1. 將專案清除(Eclipse→Project→Clean)

2. 自動建置方案(Eclipse→Project→Build Automatically)


3. 手動建置方案(Eclipse→Project→Build Project或專案點右鍵選Build Project[如果Build Automatically有選,專案上不會有該選項])

因為Build Automatically預設是開啟,所以才會說:如果刪掉R.java Eclipse會自動產生一個;接下來回到剛剛出問題的專案,先刪掉了可能導致問題的layout後,R.java就自動產生了。

而產生問題的原因好像是,layout的xml命名不能使用大寫。

-2011年6月15日新增-
R.java就是紀錄相關layout配置的檔案,出現錯誤通常都是OO.xml內有錯,或是檔名用了大寫。

3 則留言:

匿名 提到...

GOOD
久沒寫Android
Java命名習慣就是會弄到大寫 搞死自己

匿名 提到...

我用這個方法 就可以恢復正常囉~可以試試看~
1. 先 import android.R;
2. 存檔
3. 刪除 import android.R;
4. 存檔

ola的家 提到...

理論上這樣應該是沒有用的,這樣僅能讓編譯器重新幫你產生一個R檔,但是當你layout使用大寫時,編譯器將無法自動產生,還是必須先解決命名的問題。

張貼留言