問題描述
在Android Studio中,查看lib中的源碼文件時其骄,提示Library source does not match the bytecode for class XXX.class 同時炮温,導(dǎo)入的類不能正常使用。
問題分析
點擊提示后的Show diff比較.class文件和.java文件發(fā)現(xiàn)兩個文件代碼不相等。然后就猜想是哪里的緩存問題。
- 清除Android Studio中的緩存 -> 沒有用姥饰。
- 刪除build.gradle中的依賴后重新添加 編譯 -> 還是不行。
- 據(jù)說gradle也有自己的緩存描焰,于是找到后刪除cache文件夾試了一下媳否,發(fā)現(xiàn)項目開始重新下載所有的依賴包栅螟,新下載的依賴包再打開文件查看源碼荆秦,就不會再提示錯誤了!
解決方法
刪除.gradle/cache文件夾力图,在項目中重新下載一遍所有的dependency步绸,依賴庫過多時,會耗費很長的時間吃媒。當(dāng)然瓤介,如果能夠找到報錯的指定包的cache,也可以只刪除一部分后重新下載對應(yīng)的dependency赘那。
如果按照上面的作坊還是不行刑桑,那么查看下此庫是不是github的庫,如果是可以去github的找到這個庫募舟,則可以去github上找一下使用說明祠斧,并且升級下庫的版本。我就是升級了庫之后修復(fù)的拱礁。