[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。

    原文作者:Speronie
    原文地址: https://www.jianshu.com/p/f023a6b15639
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞