Android工程中R.java文件的重新生成——注意资源文件的错误
一、如果二或三步驟還是不能生成R.java中內容,一般是XML文件有錯,或者xml引用的資源文件找不到,用排除法刪除xml后執行二或者三的步驟。
二、
在Android中使用開源代碼或者自己開發項目的時候,經常會遇到R.java文件丟失的情況,如何重新生成呢?
網上一般給出這樣的兩種方法:
方法 1:右擊你的工程(項目)——>Android Tools——>Fix Project Properties 即可。
方法 2:右擊你的工程(項目)——>Properties——>Android ——> 選擇相應的target 然后 點擊 apply 即可。
但是,我今天在調試一個開源項目的時候,發現這兩種方法都不可行。后來發現如果資源文件中出現錯誤,同樣無法重新生成R.java文件。在這種情況下你必須按照控制臺給出的錯誤提示修改資源文件中的錯誤。這些錯誤可能是因為你圖片文件名重名,或者布局文件出錯,或者string.xml文件出錯等等。
我發現該項目的問題來自于string.xml文件中定義的一個字符串沒有為單引號加轉義(我的上一篇博客中提到的問題)。即
?
<string name="vehicle_title">Title (e.g. Mom's car)</string>('需要加轉義),修改后為:
<string name="vehicle_title">Title (e.g. Mom/'s car)</string>
修改所有資源文件中的所有錯誤,然后重新Build工程,R.java文件就重新生成了。
?三、
R.java 常見問題(R.java文件沒有生成 )(轉載)
01R.java是ADT工具產生的
新創建Android工程R.java文件并沒有產生,必須先運行Bulid或RUN(運行)程序,才會產生。
?
02??????? R.java文件丟失,必要急,修復很簡單
方法:右擊你的工程(項目)——>Android Tools——>Fix Project Properties 即可。
注意:也不要自己創建R.java 類文件。
=============================================
1、選擇菜單? Project >> Clean ,前提是勾選上 Bulid Automatically(自動構建部署) , 點Clean后會重新構建項目,因為一般情況下,R.java文件在這個時候會重新更新生成一邊,如果工程有錯,就不會自動生成。 2、選擇工程,右鍵 Android Tools >> Fix Project Properties 這個操作有時候可以修正一些錯誤,但我的不行。
3、還有的說法是重新建一個空的工程,然后把這里面的代碼,資源文件按照對應的包路徑什么的拷進去,然后重新生成一邊,這種方法,也想當于是第一種方法,都是重新構建部暑,性質一樣的。
??? 以上幾種方法都試了,R.java依舊沒出現,整個工程還是一大堆錯誤。隨便點了一個有錯誤的布局XML文件,看到這樣一個錯誤代碼android:layout_height="match_parent"? , 之前我都用1.5/1.6/2.1 版本的SDK? layout_height里面沒有看到match_parent這個屬性,然后問群一個兄弟說這個屬性是2.X版本的,想了下,是不是因為工程的SDK版本和eclipse默認的SDK版本問題呢,于是選擇工程,右鍵? Properties >> Android 然后看到右邊的一塊 Target Name, 我的是選中 Android 1.5,然后換了一個 2.1? 的 ,點擊Appply? ,工程自動構建,看到錯誤少了一些,換到2.2,重新構建,錯誤沒了,久未解決的問題解決了,R.java也出來了,一個字高興啊,啟動模擬器一切正常。
=================================================
問題: Android開發時,在layout中新建.xml或其他文件,R.java文件中沒有自動生成對應的字段屬性值。
解決辦法: 看看那有沒有大寫的字母,在layout新建xml文件時,要滿足Android的語法要求。 在錯誤日志會有以下類似的提示:
意思就是:資源文件只能以小寫字母和下劃線做首字母,隨后的名字中只能出現 [a-z0-9_.] 這些字符。
?
總結
以上是生活随笔為你收集整理的Android工程中R.java文件的重新生成——注意资源文件的错误的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mkdir,mkdirs区别
- 下一篇: 女人赢了 未来500万年男性将灭绝