it-swarm.dev

Google Play服务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"
178
herrmartell

你有线吗?

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

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

我看到一些错误,当它在顶部时,它写在 这里 ,它应该在底部。

507
Gusthema

只需将此行放在app-module(不是项目根目录)gradle文件的底部。

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

然后重建您的项目。

54
Vikas

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

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

我的解决方案中还有另一个软件包,因为我使用了更多的东.

使用下面的代码更改build.gradle(Module:app)之后执行以下操作:

  1. 将您的包NAME放在包含applicationId“com.YOUR_PACKAGE_HERE”字样的行中

  2. 同步项目(Ctrl + alt + v)和Build Again。

这是适合我的文件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'
11
Gustavomcls

以前的版本也是如此。新的版本com.google.Android.gms库总是在插件之前发布,并且不可能使用新版本,因为它与旧插件不兼容。我不知道现在是否需要插件(google docs很糟糕)。我记得不是的时候。唯一的方法是等待新的插件版本,或者你可以尝试删除插件依赖项,但正如我所说,我不确定gcm是否可以在没有它的情况下工作。我所知道的9.2.0版本的主要特点是新的Awareness API https://inthecheesefactory.com/blog/google-awareness-api-in-action/en ,如果你不需要它,你可以毫无困难地使用9.0.0版本。

6
yaneq6

Gustavomcls将com.google。*版本更改为相同版本的解决方案对我有用。

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

compile 'com.google.firebase:firebase-ads:9.2.1'
compile 'com.google.Android.gms:play-services:9.2.1'
5
Rahul Bagal

从app-module打开app/build.gradle,并在依赖项阻止之后重写下面的行。这允许插件确定您正在使用的Play服务版本

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

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

2
Rahul Sharma

在gradle底部添加此行。

申请插件:'com.google.gms.google-services'

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

2
Mudassir Khan

对于Cordova OR离子混合应用程序

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

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

所以一个修复将是:内部 platforms/Android open 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

保存文件

然后使用构建

 ionic cordova run Android

我希望这对每个人都有用

2
sijo vijayan

如果您还包含Firebase,请使用与错误相同的版本。

1
srlgrg

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

0
BlackHatSamurai