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]