[Gradle] Library source does not match the bytecode for class

问题描述

在Android Studio中,查看lib中的源码文件时,提示Library source does not match the bytecode for class XXX.class 同时,导入的类不能正常使用。

问题分析
点击提示后的Show diff比较.class文件和.java文件发现两个文件代码不相等。然后就猜想是哪里的缓存问题。

  1. 清除Android Studio中的缓存 -> 没有用。
  2. 删除build.gradle中的依赖后重新添加 编译 -> 还是不行。
  3. 据说gradle也有自己的缓存,于是找到后删除cache文件夹试了一下,发现项目开始重新下载所有的依赖包,新下载的依赖包再打开文件查看源码,就不会再提示错误了!

解决方法

删除.gradle/cache文件夹,在项目中重新下载一遍所有的dependency,依赖库过多时,会耗费很长的时间。当然,如果能够找到报错的指定包的cache,也可以只删除一部分后重新下载对应的dependency。

如果按照上面的作坊还是不行,那么查看下此库是不是github的库,如果是可以去github的找到这个库,则可以去github上找一下使用说明,并且升级下库的版本。我就是升级了库之后修复的。

你可能感兴趣的:([Gradle] Library source does not match the bytecode for class)