android studio 緩存問題 導致的庫依賴不了

android studio 緩存問題導致的庫依賴不了

先感謝此作者 深踩 AndroidStudio 緩存的坑;

問題描述

前提是先前依賴的三方庫,之前測試完全沒得問題;
後面因爲種種原因,在sync project時,某些類就直接爆紅,找不到了,就跟沒有導入的類效果一樣;

問題解決

首先以爲是倉庫原因,進入mavencenter 倉庫看了下肯定是有的嘛;

然後看看本地的倉庫是否存在此包,進入到C:\Users\android\.gradle\caches文件夾中,再進入到module-2/files-2.1中,發現安裝包是存在的 (驚訝臉!!) 那就是你androidstudio的問題了;

最後幸好看了那篇blog,不用踩後續的坑了,最後的解決辦法爲:

退出 Android Studio,刪除所有的 .iml 文件以及 .idea 目錄,打開 Android Studio 重新導入項目。

原因分析

原因可能就是本地倉庫的transforms的序號跟project的.ideaxml文件的序號對不上導致本地有文件,但是沒法引用某些內依賴包; 採用原作者的說法爲:

原來是在 .idea/libraries 裏會記錄每一個第三方庫的 classes, javadoc 以及 sources 所對應的路徑。
其中 classes 對應的正是前面所提到的 transforms-1 裏的目錄,同樣也正如前面所說,其中包含的路徑是有 hash 值的,更新了依賴之後,hash 值不同,新的緩存路徑也就不同了,
而這裏還是用的原來被刪的那個路徑,找不到對應的文件當然編輯器裏就提示 cannot resolve symbol 了。
所以正確而直接的解決方案應該是刪除 .idea/libraries/ 裏對應該第三方庫的 xml 文件讓它重新生成,或者是直接修改該 xml 文件的內容,改爲更新依賴之後的路徑。

發佈了46 篇原創文章 · 獲贊 3 · 訪問量 5091
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章