標籤:
Console報錯:R.java was modified manually! Reverting to generated version!
引言:
R檔案丟失異常在java開發中是個比較常見的異常,造成這個異常的原因可能非常微小,但是給Android開發人員們造成的麻煩可是巨大的,當程式員們費盡千辛萬苦,找到自己錯在哪裡的時候,絕對會對自己的粗心大意而捶胸頓足,哀歎不已。
異常提示:
R.java was modified manually! Reverting to generated version!
或者項目中gen目錄下沒有產生R檔案,運行項目的時候會報錯
我的錯誤:
最近一次我出現這個錯誤是因為新電腦中的Eclipse中指向的Android sdk路徑中帶有中文路徑,項目workspace中也有中文路徑,在我將這兩個中文路徑改完之後,R檔案就重新恢複了。
比較坑的是另一個同事的錯誤原因,在他出現R檔案丟失異常之後,Android技術組長來看了半天,沒有發現哪裡錯誤,最後出動總監大人,總監大人花費了不少時間之後,終於發現錯誤原因:項目命名為Android_demo,但是其中的底線_是中文打出的,不是英文,所以出現了這個問題,同事的電腦是MAC,而我的電腦是windows,我並沒有在自己的電腦上找出怎麼打出中文的_,所以出現這個問題的機率還是很小的。
其他原因:
下面我們來說說其他可能造成R檔案丟失的原因:
1.
項目編碼不對,在匯入其他人項目的時候可能出現,在這裡要建議大家最好把自己的eclipse編碼設定為UTF-8最好,大部分項目都會使用這個編碼,如果設定這個編碼之後你匯入的項目還是出現亂碼、R檔案丟失之類的問題,那你可以換成GBK編碼,如果你要匯入的項目是其他編碼,那我只能祝你好運,多花點時間找出這是什麼編碼。
Eclipse設定預設編碼:Window——Preferences——General——workspace,然後在下方的Text file encoding中選擇Other——UTF-8(注意,這是一個輸入框,不僅僅是下拉選擇框,當你找不到GBK編碼的時候,可以手動輸入)即可。
Eclipse中單獨項目設定編碼:右鍵項目——Properties——Resource——Text file encoding,在Other中選擇UTF-8即可(這裡也可以手動輸入編碼).
2.xml(包括layout布局、values資源以及其他xml檔案)檔案出錯:可能是你xml格式出錯,也可能是你的xml中某些屬性忘了設定,甚至可能是你引用了錯誤的xml檔案。
解決辦法:xml格式出錯的時候一般res檔案夾及其子檔案夾都會出現一個小叉號,這時候就要好好檢查相應的報錯的xml檔案了,但是如果沒有報錯,那你可以試試將項目的xml檔案都恢複到沒有出現異常之前的版本,然後一一檢查你修改後的xml檔案。
3.xml檔案和drawable下資源檔不可以為大寫字母和數字
解決辦法:將相應檔案名稱改為小寫字母或者小寫字母和數字混搭的命名。
4.Eclipse或者adt外掛程式版本問題,在adt19版本的時候就出現過bug
解決辦法:升級最新已經修複bug的版本或者卸載現有版本,使用成熟的舊版本外掛程式,建議使用android開發官網的ADT。
5.項目sdk版本太低或者版本不對
解決辦法:右鍵項目——properties——Android,選擇相應的sdk版本,點擊Apply——OK即可。
下面還有幾種解決措施可以 協助大家修複R檔案丟失異常:
- 選擇Eclipse功能表列——Project,點擊Build Automatically,使其處於勾選狀態即可,這樣在你修改完項目之後Eclipse就會及時的幫你自動編譯,跟新R檔案;
- 選中項目,Project——Clean...,這樣會清除掉舊版本的各種組建檔案,併產生最新的項目組建檔案,跟新R檔案;
- 右鍵項目,Android Tools——Fix Project Properties,會修複項目中的問題。
文章引用:http://blog.csdn.net/zhufuing/article/details/22228207
Android學習——R檔案丟失異常原因匯總