现象

之前项目运行都没问题,过了一段时间再打开,build时候报错如标题所示。

原因

第三方依赖使用了最新版本的androidx.core依赖。
就个人项目而言,是我的RecyclerView使用了latest.release,这就导致它依赖了最新的androidx ktx,这样极可能与目前使用的版本号有各种冲突。此处便是资源冲突。

分析

打印依赖树如下:
在这里插入图片描述
此处的androidx.core:core:1.7.0-beta01便是与现有依赖冲突的版本号,可以看出,它来自于RecyclerView(后面括号中的*表示覆盖了1.6.0版本,故现在使用的是1.7.0-beta01)。

解决

  1. 第三方依赖指定版本号,不要使用【+】或【latest.release】来作为版本号。一般我会使用官网发布的稳定版。以RecyclerView为例:链接地址
    在这里插入图片描述

  2. 强制项目指定当前发生冲突的依赖版本号,如:

    android {
    	defaultConfig {
    		...
    	}
    	configurations.all {
    	    resolutionStrategy {
    	        force 'androidx.core:core:1.6.0'
    	    }
    	}
    }
    dependencies {
    	...
    }
    
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐