所以今天早上我开始更新我的项目库的最新版本。
我正在尝试将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"
答案 0 :(得分:507)
你有线
apply plugin: 'com.google.gms.google-services'
位于应用的build.gradle文件底部?
当它出现在顶部时我看到了一些错误,因为它写在here,它应该在底部。
答案 1 :(得分:54)
只需将此行放在应用模块(不是项目根目录)gradle
文件的底部。
apply plugin: 'com.google.gms.google-services'
然后重建你的项目。
答案 2 :(得分:11)
我有同样的问题,今天2016年 - 10月 - 06年 我解决了这个问题:
我更改了以9开头的所有依赖项。?。?至9.6.1 我用sdk版本24和目标版本17编译。
我的解决方案中还有另一个软件包,因为我使用了更多的东西,然后才进行身份验证。
使用下面的代码更改build.gradle(Module:app)后执行:
将您的包名称放在包含单词applicationId" com.YOUR_PACKAGE_HERE"
同步项目(Ctrl + alt + v)和Build Again。
这是适用于我的文件buid.gradle(Module:app)的代码:
import random
def play():
x = round(random.random()*5)
guess = False
tries = 0
while guess is False and tries < 3:
inp = raw_input("Guess the number: ")
if int(inp) == x:
guess = True
print "Correct! You won"
else:
print "Wrong guess! Try again."
tries = tries + 1
print "Your remaining tries are",(3-tries)
if tries == 3:
print("Game Over!")
play()
again = "maybe"
while again != "no":
again = raw_input("Do you want to play again? yes OR no? \n")
if again == "yes":
print "Great!"
play()
print "Okay thanks for playing!"
答案 3 :(得分:6)
以前的版本也是如此。新的版本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版本。
答案 4 :(得分:5)
Gustavomcls将com.google。*版本更改为相同版本的解决方案对我有用。
我在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'
答案 5 :(得分:2)
从您的app-module打开app/build.gradle
,并在依赖项阻止后重写下面的行。这允许插件确定您正在使用的Play服务版本
apply plugin: 'com.google.gms.google-services'
我从here得到了这个想法。在本教程中,第二点是说上面的插件行位于app/build.gradle
文件的底部,因此不会引入依赖性冲突。希望它会帮助你。
答案 6 :(得分:2)
适用于Cordova或Ionic Hybrid App
在整合Firebase云消息传递(FCM)之后,我的Ionic 1 Cordova Build遇到了类似的问题
我通过以下步骤解决了这个问题
所以一个修复就是:在 platforms / 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
保存文件
然后使用
进行构建ionic cordova run android
我希望这对每个人都有用
答案 7 :(得分:2)
在gradle底部添加此行。
申请插件:'com.google.gms.google-services'
因为它顶部不起作用。我面临着类似的问题。
答案 8 :(得分:1)
如果您还包含Firebase,请使用与错误相同的版本。
答案 9 :(得分:0)
在我尝试使用位置服务之前,我没有遇到任何问题,此时我必须将apply plugin: 'com.google.gms.google-services'
放在文件的底部,而不是顶部。原因是当你在顶部有碰撞问题时,将它放在底部,你可以避免这些问题。
答案 10 :(得分:-1)
您的目标SDK
可能高于设备的SDK
,请进行更改。
例如,您的设备正在运行API 23,但您的目标SDK
为25。
将25改为23。