导入播放服务后冲突库

时间:2017-10-16 21:36:19

标签: android android-studio

导入依赖项后,我在库中发生了冲突:

compile 'com.google.android.gms:play-services:11.4.2'

这是在此行报告错误的行:

    compile 'com.android.support:appcompat-v7:26.1.0'

这是错误:

All com.android.support libraries must use the exact same version specification (mixing versions can lead to runtime crashes).

Found version 26.1.0, 25.2.0

如果我改变了行

compile 'com.android.support:appcompat-v7:26.1.0'

为:

compile 'com.android.support:appcompat-v7:25.2.0'

现在我

This support library should not use a different version (25) than the compile SDK version (26).

发生了什么事。这就像某种循环错误。

我该如何解决?

2 个答案:

答案 0 :(得分:0)

在其他地方(可能在依赖项中),您正在使用版本25.2.0编译Android支持库的另一部分。如果要使用编译SDK版本26,则需要将对com.android.support的所有引用更新为版本26.1.0。

答案 1 :(得分:0)

正如错误所说:

  

所有com.android.support库必须使用完全相同的版本   规范(混合版本可能导致运行时崩溃)。

     

发现版本26.1.0,25.2.0

这是因为您有两个支持库26.1.025.2.0。有一个或多个库使用不同版本的支持库。因此,您需要找到它并在依赖项中使用exclude。您可以通过在Linux shell中的项目中执行以下命令来查找依赖关系树来找到它们(如果您使用的是Windows,请使用gradlew.bat):

./gradlew app:dependencies 

找到后,用以下内容从中排除支持库:

compile(com.sample.library) {
    exclude group: 'com.android.support'

    // exclude the support library that is clashing.
    exclude module: 'appcompat-v7'
    exclude module: 'support-v4'
}

然后,您需要添加支持库以替换先前依赖项中的排除版本:

compile 'com.android.support:appcompat-v7:26.1.0'