【问题标题】:Conflict with dependency 'com.squareup.okio: okio'与依赖 'com.squareup.okio: okio' 冲突
【发布时间】:2017-10-15 23:30:21
【问题描述】:

在使用 Android Studio 运行我的代码时,它会生成以下错误:

警告:与依赖项 'com.squareup.okio: okio' 冲突。应用程序 (1.11.0) 和测试应用程序 (1.6.0) 的已解决版本不同。详情请见http://g.co/androidstudio/app-test-app-conflict

【问题讨论】:

    标签: java android-studio dependencies conflict


    【解决方案1】:

    如果您访问上述网站 (http://g.co/androidstudio/app-test-app-conflict),您可以阅读解决此问题的不同选项。

    如果您无法缩小冲突库的范围,请先运行以下命令,查看哪些版本存在冲突:

    ./gradlew :app:dependencies
    

    这个问题有两种可能的解决方案:

    1.- 更改库版本,使它们不再冲突

    2.- 使用Gradle Conflict Resolution Mechanism 指定要解析到的版本。

    【讨论】:

    • 我什至没有直接使用 okio,并且遇到了这个问题。
    【解决方案2】:

    也许您正在添加此库以使用 retrofit2 进行 expresso UI 测试

    androidTestCompile 'com.jakewharton.espresso:okhttp3-idling-resource:1.0.0'

    这是我的解决方案的样子:

     androidTestCompile 'com.jakewharton.espresso:okhttp3-idling-resource:1.0.0',{
            exclude group: 'com.squareup.okio', module: 'okio'
            exclude group: 'com.squareup.okhttp3', module: 'okhttp'
        }
    

    它将阻止 gradle 下载冲突的依赖项。

    出现此问题是因为您添加了 androidTestCompile 而不是普通的compile。如果你用后者替换前者,错误就会消失。我认为原因是 gradle 会选择最高依赖的版本。

    【讨论】:

      猜你喜欢
      • 2018-10-24
      • 2016-11-05
      • 2019-08-08
      • 2021-11-05
      • 2018-11-20
      • 2019-06-28
      • 2020-06-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多