Google Play Services GCM 9.2.0要求“更新”回到9.0.0

所以今天早上我开始更新到我的项目库的最新版本。

我试图更新GCM到最新的版本9.2.0,但我得到这个错误:

错误:执行任务':app:processDebugGoogleServices'失败。 请通过更新google-services插件的版本来修复版本冲突(有关最新版本的信息, 请访问https://bintray.com/android/android-tools/com.google.gms.google-services/ )或将com.google.android.gms的版本更新为9.0.0。

这是我的代码:

dependencies { classpath 'com.android.tools.build:gradle:2.1.2' classpath 'com.google.gms:google-services:3.0.0' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' } 

接着:

 dependencies { ... compile "com.google.android.gms:play-services-gcm:9.2.0" ... } 

任何人有相同的问题/解决同样的问题?

谢谢。

编辑

显然你必须在你的app / build.gradle文件的底部应用你的GSM插件。 否则,版本9.2.0将导致您的项目发生冲突。

作为参考,这是我的app / build.gradle文件现在看起来像:

 apply plugin: "com.android.application" apply plugin: "com.neenbedankt.android-apt" android { ... } dependencies { ... // Google Cloud Messaging compile "com.google.android.gms:play-services-gcm:9.2.0" ... } apply plugin: "com.google.gms.google-services" 

你有线吗?

 apply plugin: 'com.google.gms.google-services' 

在你的应用程序的build.gradle文件的底部?

我在上面看到了一些错误,写在这里 ,它应该在底部。

只要把这行放在你的应用程序模块(不是项目根)的gradle文件的gradle

 apply plugin: 'com.google.gms.google-services' 

然后重build你的项目。

我有同样的问题,今天2016年10月 – 06我解决了这个问题:

我改变了所有以9开头的依赖关系。 到9.6.1我用sdk版本24和目标版本17编译。

在我的解决scheme中有另一个包,因为我使用了更多的东西,然后只有authentication

在用下面的代码改变你的build.gradle(Module:app)之后,

  1. 把你的软件包名称放在一行中,用单词applicationId“com.YOUR_PACKAGE_HERE”

  2. 同步你的项目(Ctrl + Alt + V)和再次构build。

这是为我工作的文件buid.gradle(Module:app)的代码:

 apply plugin: 'com.android.application' android { compileSdkVersion 24 buildToolsVersion "24.0.3" defaultConfig { applicationId "com.YOUR_PACKAGE_HERE" minSdkVersion 24 targetSdkVersion 17 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } 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' }) compile 'com.google.firebase:firebase-core:9.6.1' compile 'com.google.firebase:firebase-database:9.6.1' compile 'com.android.support:appcompat-v7:24.2.1' compile 'com.android.support:design:24.2.1' compile 'com.google.firebase:firebase-crash:9.6.1' testCompile 'junit:junit:4.12' compile 'com.google.firebase:firebase-messaging:9.6.1' compile 'com.google.firebase:firebase-ads:9.6.1' compile 'com.google.firebase:firebase-auth:9.6.1' compile 'com.google.android.gms:play-services:9.6.1' } apply plugin: 'com.google.gms.google-services' 

以前的版本也一样。 新版本的com.google.android.gms库总是在插件之前发布,这是令人鼓舞的,因为与旧插件不兼容,所以不可能使用新版本。 我不知道现在是否需要插件(谷歌文档很烂)。 我记得当时没有。 唯一的办法是等待新的插件版本,或者你可以尝试删除插件的依赖关系,但正如我所说,我不知道如果没有它gcm将工作。 我所知道的9.2.0版本的主要function是新的Awareness API https://inthecheesefactory.com/blog/google-awareness-api-in-action/en ,如果你不需要它,你可以使用9.0。 0版本没有任何问题。

Gustavomcls将com.google。*版本更改为相同版本的解决scheme适用于我。

我在buid.gradle(Module:app)中将两个依赖项都更改为9.2.1

 compile 'com.google.firebase:firebase-ads:9.2.1' compile 'com.google.android.gms:play-services:9.2.1' 

从应用程序模块打开app/build.gradle并在依赖app/build.gradle后重新写入下面的行。 这允许插件确定您正在使用的Play服务的版本

 apply plugin: 'com.google.gms.google-services' 

我从这里得到了这个想法。 在本教程中,第二点是说上面的插件行位于app/build.gradle文件的底部,这样就不会引入依赖冲突。 希望它能帮助你。

如果您还包含Firebase,请将其与错误说明的版本相同。

在尝试使用定位服务之前,我没有遇到这个问题,此时我必须将apply plugin: 'com.google.gms.google-services'放在文件的底部,而不是最佳。 原因是当你在顶端有碰撞问题,并把它放在底部,你可以避免这些问题。

对于cordova或离子混合应用程序

在集成Firebase云消息传递(FCM)之后,我的Ionic 1 Cordova Build也遇到了类似的问题,

我通过以下步骤解决了这个问题

所以一个修复将是:在平台/ android打开project.properties (它的文件),你会有这样的事情

 cordova.system.library.1=com.google.android.gms:play-services-ads:+ cordova.system.library.2=com.google.firebase:firebase-core:+ cordova.system.library.3=com.google.firebase:firebase-messaging:+ 

更换

+

用您的目标版本号签名 – 如下所示

 cordova.system.library.1=com.google.android.gms:play-services-ads:9.0.0 cordova.system.library.2=com.google.firebase:firebase-core:9.0.0 cordova.system.library.3=com.google.firebase:firebase-messaging:9.0.0 

保存文件

然后搭build使用

  ionic cordova run android 

我希望这会适用于每个人

您的目标SDK可能会高于设备的SDK ,请更改。 例如,您的设备正在运行API 23,但您的目标SDK是25.将25更改为23。

在gradle的底部添加这一行。

应用插件:“com.google.gms.google-services”

因为它顶不起作用。我正面临类似的问题。