android R文件沒法自動生成緣由總結

android 沒法生成R文件 是件痛苦的事情,即便有時候你xml文件沒有錯誤,他都沒法生成。針對此問題,我總結如下幾個方面的緣由。java

一.xml自己有錯誤android

R.java這個文件是會自動生成的,可是若是你不當心xml文件寫錯了,或者不當心在編輯xml的時候點擊了run(其實這個時候會運行這個xml文件,會生成一個同名的xml文件,後綴爲xx.out.xml),而後正巧你遊clear了一下項目,你可能會發現gen下面的R.java的文件沒有了,這個在剛開始的時候很氣人,真不知道怎麼解決,後來發現,只要xml文件有問題,系統是絕對不會給你自動生成這個R.java文件,由於他要參照你的每張xml裏的數據來生成R.java,因此天然就生成不了了。雖然知道了緣由可是問題頭疼,假如項目的layout xml文件有幾十個,這個時候怎麼辦,難道要一個一個xml的看嗎,呵呵,其實也不是,把console中的信息clear一下,而後再clear項目一下,這個時候,console中會有不少紅色的信息,參照這個確定能準確的找到哪一個文件報錯了。ui

 下面這個事誤運行了xml文件,能夠看到gen的包不是空的,R.java文件也存在,而且明確的支出了是layout包中的錯誤編碼

 

二。編碼格式不正確spa

有時候因爲編碼格式問題,形成沒法生成R文件,此時後,把編碼格式變成utf-8便可xml

三,不知何種緣由,多是配置問題(轉義字符的問題).utf-8

 

通常來講,Android項目是的R文件是由系統生成的資源的定義,可是偶爾會出現R文件不一樣步或是丟失的狀況.資源

不一樣步的狀況,即在RES文件裏面已經存在了一項,可是在R.java文件中卻尚未定義,
這裏能夠點擊,Project->Clean, 選擇項目,而後選中"Start a build immediately",便可重建R文件.字符串

若是R文件丟失,通常網上的推薦的方法是,右鍵項目文件,點擊"Android Tools"->"Fix project properties".
可是有時這種方法也不可用,那就要從新檢查一下RES文件夾裏面的XML資源文件是否用了轉義字符.
使用我在string裏面定義了一個名爲"str"的字符串常量,若是在常量值裏面使用轉義(非法)字符,編譯的時候
就會出現R文件丟失的狀況.
經常使用到的須要轉義的字符有:<>&"'等,有興趣的能夠參考一下網上的文章,下面給出經常使用的轉義後的編碼:
轉義字符   實際符號  名稱
&lt;         <            小於號
&gt;        >            大於號
&amp;    &            和
&apos;    '             單引號
&quot;    "             雙引號
同步

注意轉義字符後面的分號(;)不可省略

相關文章
相關標籤/搜索