appcompat-v7:25.2.0与播放服务冲突:10.2.1

时间:2017-04-07 17:30:51

标签: android gradle google-play-services android-support-library

我正在开发一款新应用。目前我正在尝试添加依赖

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

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

  

所有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)有一些   库的组合,或工具和库,是   不兼容,或可能导致错误。一个这样的不兼容性是   使用不支持的Android支持库版本进行编译   最新版本(或特别是低于您的版本的版本   targetSdkVersion。)

如何最好地解决此问题?

Gradle文件

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'
}

4 个答案:

答案 0 :(得分:4)

使用以下内容更新build.gradle文件:

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

答案 1 :(得分:4)

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

enter image description here

答案 2 :(得分:1)

以后的答案,但希望对遇到类似问题的人有所帮助。

首先,“不要使用组合的play-services目标。它引入了数十个库,使您的应用程序肿。相反,仅指定您的应用程序使用的特定Google Play服务API。”以下是每个API的播放服务模块列表:https://developers.google.com/android/guides/setup#split

您的问题,com.android.support库中的play-services库版本与com.android.support:appcompat-v7:25.3.1冲突。要解决此问题,只需修改

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

compile ('com.google.android.gms:play-services-maps:10.2.1') {
    exclude group: 'com.android.support'
}
compile ('com.google.android.gms:play-services-places:10.2.1') {
    exclude group: 'com.android.support'
}

答案 3 :(得分: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]