發表時間:2011-03-25   最后修改:2011-03-25
   最近幾天學習android ,學習時候難免要導入一些示例,目的為了更加了解android各種API用法,順便也可以學習下別人代碼的寫法。可是導入android源碼后,基本都有錯誤,R.java也不會自動生成,因為是第一次導入工程,工程有錯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也出來了,一個字高興啊,啟動模擬器一切正常。 

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