Android Studio Gradle編譯時『No resource found that matches the given name』解決方法(windows系統的坑)


* 最近幫團隊同事配置gradle時,發現一個非常奇怪的問題:
> * 同樣的gradle配置的項目,只是修改了一個項目的名稱,竟然會出現以下奇怪問題:


## 現象
1. 一個編譯完全OK,另外一個編譯出現各種問題
2. mac上兩個都能正常編譯,windows上其中一個編譯通不過

主要Error如下:

```
No resource found that matches the given name (at drawable with value @drawable/xxxxxxxxxxxxxxxxxxxxxxxx)
```
我們做了各種排除,最后發現問題的特點:
兩個項目,一個可編譯,一個編譯失敗,區別在於,文件路徑不一樣長,文件名不一樣長,最后由這個想到了是不是這個原因了,mac沒有類似限制……
不查不知道啊,一查嚇一跳:


## 原因


> `windows限制路徑字符長度最大值: 260……`[查看這是為何](http://stackoverflow.com/questions/1880321/why-does-the-260-character-path-length-limit-exist-in-windows)
因為gradle編譯時引用 build目錄下拉取的aar路徑層次太深,超過260,編譯時不通過,這就是為什么很同用windows的同學,會在配置完全OK的情況下編譯失敗.


## 解決方案:
1. 整個項目挪到根目錄,項目文件名改短,暫時解決這個問題
2. 換用Linux系統 或者Mac電腦


## 結束語

windows真是坑啊,這個問題和Android的65536現象極為相似啊!!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM