【开发技巧】Android Studio 缓存无法刷新的解决方案

问题描述

在项目中依赖了 A 库的 X 版本后,后面改了库的版本,但项目依赖的还是老的版本,并没有切换到新的库上面来,导致无法依赖新的库版本。

比如:项目中最开始依赖了 Zxing 的 3.4.1 版本,而 3.4.1 版本无法支持 API < 24 的系统而导致应用崩溃。为了解决此问题,将依赖的版本改成了 3.3.3,并进行了各种清缓存的操作后,发现 gradle 依赖的还是 3.4.1。

image

解决方法

1. 使用 gradlew :app:dependencies 来查看一下该依赖没有生效的原因,是否是由于其它库也依赖了该库,而导致的。

image

从上图中发现,原来 Zxing 被其它库也依赖了,而且版本比我自己所设置的还要高,所以,我自己依赖的版本被覆盖了。

有两种方法可以解决这种问题:

  1. 直接将所依赖的库中的版本改成低版本。
  2. 在配置库依赖时,将想要使用的目标版本配置为强制使用,也就是当发生冲突时,优先使用该库。
api(deps.zxing) {
    force = true
}

or

impementation('com.google.zxing:core:3.3.3') {
    force = true
}

2. 第二种情况是 Gradle 没有刷新,此时要找到当前库所依赖的缓存文件将其删除

  1. 先找到缓存文件,并删除
image
  1. 清除 Android Studio 缓存。
image

你可能感兴趣的:(【开发技巧】Android Studio 缓存无法刷新的解决方案)