android 工程裏缺乏 R.java 文件緣由和解決方法

做爲新手,學習android 的時候不免要導入一些示例,目的爲了更加了解android各類API用法,順便也能夠學習下別人代碼的寫法。html

但是導入android源碼後,基本都有錯誤,R.java也不會自動生成,java

由於是第一次導入工程,工程有錯R.java就不會自動生成了,工程有錯誤,固然模擬器就不能啓動,也就看不到效果。android

在網上找到的各類解決方法,總結以下:
  
一、選擇菜單  Project >> Clean ,前提是勾選上 Bulid Automatically(自動構建部署) , 點Clean後會從新構建項目。
  由於通常狀況下,R.java文件在這個時候會從新更新生成一邊,若是工程有錯,就不會自動生成。 app

二、選擇工程,右鍵 Android Tools >> Fix Project Properties 這個操做有時候能夠修正一些錯誤。 eclipse

三、還有的說法是從新建一個空的工程,而後把這裏面的代碼,資源文件按照對應的包路徑什麼的拷進去,而後從新生成。
  這種方法,等價於第1種方法,都是從新構建部暑。 

    以上幾種方法都試了,R.java依舊沒出現,整個工程仍是一大堆錯誤。任意點開一個有錯誤的佈局XML文件,若是看到相似的錯誤代碼:            android:layout_height="match_parent" , 就有多是工程的SDK版本和eclipse默認的SDK版本不匹配的問題。
  因而選擇工程,右鍵 Properties >> Android 而後看到右邊的一塊 Target Name, 把選中 Android 1.5,換到2.2(最新的),從新構建。
  錯誤沒了,久未解決的問題解決了,R.java也出來了,一個字高興啊,啓動模擬器一切正常。 

  總結下當導入其它源碼時候,首先要保證源碼的SDK版本和你eclipse默認版本是否一致。 
  查看源碼版本辦法:打開default.properties 文件,看target=android-7 這後面這個數是多少。 
  版本對應關係:target=android-3 <---> android 1.5  ... ..., target=android-8 <---> android 2.2 其它的本身測試下。佈局

 


-----------------我是分割線-----------------------------------------------------------------------學習

 自動生成的工程裏缺乏R.java,測試

 

按照網上的方法「右擊你的工程(項目)——>Android Tools——>Fix Project Properties 」無論用, google

確保項目編譯了一下clean,或是右擊項目-->property-->android-->applay一下 也是不行spa

google和百度一通後,無果。

繼後跟蹤發現,R.java在工程裏面自動生成,後到官方站點看了幫助文檔,發現經過platform-tools路徑下的aapt.exe執行,

再通過檢測,aapt.exe程序好像已經損壞,不能執行,故而再sdk setup中執行,獲取該文件,覆蓋原來的,R.java自動產生了。

問題解決,爲什麼aapt.exe損壞,還有待考證:

http://www.cnblogs.com/cngreatwall/archive/2011/03/11/1980525.html


-----------------我是分割線-----------------------------------------------------------------------

 

R.java 文件不能生成,但碰到的和上面提到的都不同——

一、:AndroidManifest.xml

        <activity android:name=".Index" android:label="@string/index"> </activity>

  提示 index沒定義!

二、包名改了, AndroidManifest.xml裏的還沒改過來。

三、資源文件只能以小寫字母和下劃線作首字母,隨後的名字中只能出現 a-z、0-九、_ 這些字符。 

相關文章
相關標籤/搜索