You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行connectedDebugAndroidTest Gradle任务时hamcrest-core依赖解析失败

问题根因

该报错属于典型的依赖版本冲突问题:

  • 依赖树中多个组件依赖了不同版本的org.hamcrest:hamcrest-core
  • androidx.test.ext:junit:1.1.3间接依赖junit4.12,需要hamcrest-core 1.3版本,同时Gradle配置了该依赖的严格版本约束为1.3
  • espresso-contrib、espresso-core相关测试组件间接依赖hamcrest-core 2.2版本,两个版本不兼容导致依赖解析失败
解决方案

以下两种方案任选其一即可:

方案1:全局强制统一hamcrest版本

在App模块的build.gradle文件最外层(和android、dependencies块平级)添加如下配置:

configurations.all {
    resolutionStrategy {
        // 全局强制指定hamcrest相关依赖的版本,选2.2或1.3均可,推荐2.2适配新版测试组件
        force "org.hamcrest:hamcrest-core:2.2"
        force "org.hamcrest:hamcrest-library:2.2"
    }
}

方案2:排除junit中引入的低版本hamcrest依赖

修改测试依赖配置,排除androidx.test.ext:junit中传递的hamcrest依赖:

androidTestImplementation ('androidx.test.ext:junit:1.1.3') {
    exclude group: 'org.hamcrest'
}
验证操作

修改配置后重新执行Gradle项目同步,再启动connectedDebugAndroidTest任务即可正常运行。

内容的提问来源于stack exchange,提问作者Yuriy Surzhikov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 02:36:09