【问题标题】:how to solve Cannot find a version of 'com.google.android.material:material' that satisfies the version constraints如何解决找不到满足版本约束的'com.google.android.material:material'版本
【发布时间】:2020-01-20 06:54:50
【问题描述】:

我正在进行 espresso 测试,我需要以下依赖项:

androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.2.0'

recycler-view 完成测试,但是当我添加这个依赖时,我得到了这个错误:

原因:org.gradle.api.GradleException:找不到满足版本>'com.google.android.material:material'的版本>约束: 依赖路径 'myproject:app:unspecified' --> >'com.google.android.material:material:1.0.0-beta01' 约束路径 'myproject:app:unspecified' --> >'com.google.android.material:material:{strictly 1.0.0-beta01}' 因为>原因如下:debugRuntimeClasspath 使用版本 1.0.0->beta01

我可以理解这个错误是因为以下依赖:

   implementation 'com.google.android.material:material:1.0.0-beta01'

我可以通过将材质依赖更改为其他版本来解决这个问题,但是如果我更改材质依赖,设计将会错过,我不想更改它

我已经尝试使用较低版本的 esspreso-contrib 来解决它,但仍然出现此错误

我真的不想改变材料依赖,我需要测试,所以请知道的人解决它,不胜感激

提前致谢

[edit] 抱歉没有提到应用程序运行良好且没有错误,但只有在我运行测试时才会出现此错误

【问题讨论】:

  • implementation 'com.google.android.material:material:1.0.0-beta01' 在你的项目中添加依赖。
  • @RachitMishra 我没听懂你,它已经在我的项目中了......这是错误的原因!

标签: android android-recyclerview dependencies material-design android-espresso


【解决方案1】:

恐怕我无法在测试项目中重现您的错误。

但我首先想到的是 transative dependency 问题,因为我怀疑 espresso-contrib 正在提取和共享过时版本的材料 (1.0.0)。

这可能是一些 android x testing util 库共享的issue

尝试替换:

androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.2.0'

与:

androidTestImplementation ('androidx.test.espresso:espresso-contrib:3.2.0') {
    exclude group: 'com.google.android.material', module: 'material'
}

【讨论】:

    猜你喜欢
    • 2019-06-28
    • 1970-01-01
    • 2019-03-26
    • 1970-01-01
    • 2019-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-15
    相关资源
    最近更新 更多