与依赖项'com.squareup.okio:okio'发生冲突

Fer*_*NES 7 java dependencies conflict android-studio

在Android Studio中运行我的代码时,它会产生以下错误:

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

Phu*_*Dao 5

也许你正在添加这个库来使用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'
    }
Run Code Online (Sandbox Code Playgroud)

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

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


kik*_*oso 1

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

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

./gradlew :app:dependencies
Run Code Online (Sandbox Code Playgroud)

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

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

2.- 使用Gradle 冲突解决机制指定要解决的版本。