40

我剛剛更新了谷歌Play服務的最新版本 - 23 - 在Android SDK管理器。接下來,我更新的依賴於我的項目: com.google.android.gms:play-services-gcm:8.3.0找到com.google.android.gms:播放服務-GCM:8.3.0,但是8.1.0版本需要

但我得到:

Found com.google.android.gms:play-services-gcm:8.3.0, but version 8.1.0 is needed 
Found com.google.android.gms:play-services-gcm:8.3.0, but version 8.1.0 is needed 
Found com.google.android.gms:play-services-gcm:8.3.0, but version 8.1.0 is needed 
Found com.google.android.gms:play-services-gcm:8.3.0, but version 8.1.0 is needed 
Found com.google.android.gms:play-services-gcm:8.3.0, but version 8.1.0 is needed 
:app:processDebugGoogleServices FAILED 
Error:Execution failed for task ':app:processDebugGoogleServices'. 
> Please fix the version conflict. 

有什麼不對?你也有這個問題嗎?

+0

我這個問題太今早掙扎,我想找到答案。 – Konstantin

+0

編譯「com.google.android.gms:發揮服務:9.0.2」 – jacktrades

回答

75

在頂層的build.gradle文件,你需要更新的依賴使用

classpath 'com.google.gms:google-services:1.5.0-beta2' 

額外的信息: 的這個最新版本可以通過查看the entry on JFrog Bintray

進一步更新中找到: 是的,自從我回答這個問題以來,這已經更新了。最新的版本是:

classpath 'com.google.gms:google-services:3.0.0' 

然而,它總是值得提供的鏈接找到最新版本以下。

+1

類路徑「com.google.gms:谷歌服務:+」適用於所有 – user987760

+2

谷歌還沒有更新其文件還沒有,尊重@ iNdieboy-傑夫 – Rashid

+18

真是一團糟! Google服務變得越來越複雜和混亂。 – Ridcully

0

在頂層的build.gradle文件,你需要的依賴改爲

classpath 'com.google.gms:google-services:+'

+7

在版本號中使用+時,它可能會導致不可預測且不可重複的構建。建議指定一個版本號,以便定義確切的依賴關係,並且可以重複構建相同的構建版本。 – Yuntao

26

工作液爲8.4.0

(也許是因爲以前的版本也有這個瘋狂的問題相同)

項目的build.gradle:

dependencies { 
    classpath 'com.android.tools.build:gradle:2.1.2' 
    classpath 'com.google.gms:google-services:2.1.2' 
} 

應用程序/移動的build.gradle

apply plugin: 'com.android.application' 
apply plugin: 'io.fabric' 
apply plugin: 'android-apt' 

android { 
    ... 
    ... 
    ... 
} 

dependencies { 
    // Google Play Services 
    compile 'com.google.android.gms:play-services-analytics:8.4.0' 
    // another play services in v8.4.0 
} 

apply plugin: 'com.google.gms.google-services' // why here on end? Because GOOGLE... 

警告: 當你的Gradle構建的頂部移動apply plugin: 'com.google.gms.google-services',它不能編譯...

+2

你能解釋一下爲什麼把這條線移到頂端不編譯?我試圖更新谷歌播放服務版本,我斯塔克,最後你的解決方案工作,但是什麼原因使這個邏輯移動到底部? –

+1

我會,但我不知道:(。我堅持這個問題也許兩天,直到我找到工作解決方案從一些谷歌示例項目,當我從我的代碼和他們的搜索differencies:/ – mtrakal

1

Google Play Services引導從這個問題

救了我據導遊介紹,

在6.5之前的Google Play服務版本中,您必須將整個API包編譯到您的應用程序中。在某些情況下,這樣做會使得應用程序中的方法數量(包括框架API,庫方法和自己的代碼)在65,536的限制之下變得更加困難。

從版本6.5開始,您可以選擇性地將Google Play服務API編譯到您的應用中。例如,要僅包含Google健身和Android Wear API,請在您的構建中替換以下行。gradle這個文件:

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

這些行:

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

我遇到過這個問題爲好,雖然我的是

找到com.google.android.gms:播放 - 服務-GCM:8.4.0,但是版本 8.3.0需要

爲了解決這個問題,我結合了Jeff Sutton和mtrakal的答案。我必須確保我在項目中使用級搖籃文件最新的搖籃插件和谷歌服務的版本(我有搖籃1.5,它不工作):

classpath 'com.google.gms:google-services:2.0.0-beta6' 

classpath 'com.android.tools.build:gradle:2.0.0-beta6' 

然後我把apply plugin: 'com.google.gms.google-services'線應用程序Gradle文件的最後一行。

0

我也收到同樣的衝突com.google.android.gms的:發揮服務-GCM:8.3.0然後

我已經更新了谷歌工具playservice然後有解決

從SDK管理器中選擇工具和更新現在解決