3

我正在开发一款新应用。目前我想补充的依赖appcompat-v7:25.2.0与play-services冲突:10.2.1

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

当我这样做,我得到一个gradle这个编译错误上compile 'com.android.support:appcompat-v7:25.2.0'说:

所有com.android.support库必须使用相同的版本 规格(混合版本可能会导致运行时崩溃)。发现 版本25.2.0,24.0.0。示例包括: com.android.support:animated-vector-drawable:25.2.0和 com.android.support:mediarouter-v7:24.0.0 less ...(⌘F1)有一些 库的组合,或工具和库,不兼容,或者可能导致bug。一个这样的不兼容性 用版本的Android支持库,是不是 编译最新的版本(或特别,比你 targetSdkVersion版本低。)

任何想法如何更好地解决这个问题?

摇篮文件

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 25 
    buildToolsVersion "25.0.2" 
    defaultConfig { 
     applicationId "appIdhere" 
     minSdkVersion 15 
     targetSdkVersion 25 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
     resValue "string", "authority", "${applicationId}" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    }) 

    provided "org.projectlombok:lombok:1.16.8" 
    compile 'com.android.support:appcompat-v7:25.2.0' 
    compile 'com.android.support:design:25.2.0' 
    compile 'com.android.support:recyclerview-v7:25.2.0' 
    compile 'com.android.support:cardview-v7:25.2.0' 
    compile 'com.android.support.constraint:constraint-layout:1.0.2' 
    compile 'com.android.support:support-v4:25.2.0' 
    compile 'com.squareup.okhttp:okhttp:2.7.0' 
    compile 'com.google.android.gms:play-services:10.2.1' 
    testCompile 'junit:junit:4.12' 
} 
+0

显示gradle这个文件。你有'com.android.support:mediarouter-v7:24.0.0'吗? –

+2

请阅读https://developers.google.com/android/guides/setup#split您可能永远不会在一个应用中使用每个Google Play服务 –

+0

我刚刚看到您的评论。谢谢。对于我的生活,我认为我只是使用'compile'c​​om.google.android.gms:play-services-gcm:10.2.1''。我的头不是今天聚焦。谢谢,板球。 –

回答

4

更新您的build.gradle文件有以下:

编译 'com.android.support:appcompat-v7:25.3.1'

+0

我这样做。然后我清理并重建。依然没有。 –

+0

我假设你正在更新模块级别的build.gradle,并且还尝试重新启动Android Studio。如果错误持续粘贴更新的Gradle文件。当我使用与buildtoolversion兼容的正确appcompat lib更新模块级build.gradle文件时,我的错误得到了解决。 compile'c​​om.android.support:appcompat-v7:25.3.1' – Ajay

4

你 - >编译 'com.android.support:mediarouter-v7:#version'

enter image description here

+0

非常感谢,那对我来说就是这样。我正在寻求排除依赖关系。 :) compile'c​​om.android.support:appcompat-v7:25.3.1' compile'c​​om.android.support:mediarouter-v7:25.3.1' –

0

你应该在你的build.gradle文件替换以下行:

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

与这些线

compile 'com.google.android.gms:play-services-fitness:10.2.1' 
compile 'com.google.android.gms:play-services-wearable:10.2.1' 

你还可以添加这些行按你的要求

//for Google+ 
compile 'com.google.android.gms:play-services-plus:10.2.1' 
//for Google Account Login 
compile 'com.google.android.gms:play-services-auth:10.2.1' 

仅供参考,你必须遵循 [https://developers.google.com/android/guides/setup]