編譯app資源文件找到不到的問題分析

       開發app的時候,可能在同一個工程下,同一個app存在的不一樣版本,在這些不一樣版本之間切換時編譯可能出現找不到資源符號---------找不到符號,的錯誤。android

  形成這種錯誤的緣由主要有四個:app

  1.代碼的ID有錯;spa

  2.資源文件ID 有錯;xml

  3.xml未編譯資源

    前面兩個容易檢查出來,只需對比便可,可是後面一個確實很難檢查的出,只有你肯定前兩個緣由排除以後,你就能夠鎖定。緣由就是資源文件xml沒有編譯到,想要xml資源編譯很是簡單,你隨便添加一個空行。開發

  那麼形成這種問題的緣由是什麼呢?get

  那就說說個人狀況吧:我在 不一樣版本切換時,一般會編譯一個版本的app代碼,後又編譯另外一個版本的app,系統編譯的時候會自動生成一個R文件,該文件的目錄就在out/target/common/R/com/android/xxx/裏面,等到第二次編譯這個app代碼的時候,因爲個人xml文件未改動,編譯器不會自動添加資源id到R文件裏面,因此就會出現上面找不到資源id的狀況。編譯器

    同時說明編譯器在編譯的時候會檢查每一個文件,是否在編譯後被修改過,若是檢查編譯後沒有修改,則不會去編譯這個文件。
編譯

相關文章
相關標籤/搜索