问题描述
在Android Studio中,查看lib中的源码文件时,提示Library source does not match the bytecode for class XXX.class
问题分析
点击提示后的Show diff比较.class文件和.java文件发现两个文件代码不相等。然后就猜想是哪里的缓存问题。
- 清除Android Studio中的缓存 -> 没有用。
- 删除build.gradle中的依赖后重新添加,编译 -> 还是不行。
- 据说gradle也有自己的缓存,于是找到后删除cache文件夹试了一下,发现项目开始重新下载所有的依赖包,新下载的依赖包再打开文件查看源码,就不会再提示错误了!
解决方法
删除.gradle/cache文件夹,在项目中重新下载一遍所有的dependency,依赖库过多时,会耗费很长的时间。当然,如果能够找到报错的指定包的cache,也可以只删除一部分后重新下载对应的dependency。