我在Windows for Android上使用离子2。当我添加cordova-plugin-fcm插件时,我无法再构建项目了。这是我得到的错误:
BUILD FAILED
Total time: 4.697 secs
Error: cmd: Command failed with exit code 1 Error output:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':processDebugGoogleServices'.
> Please fix the version conflict either by updating the version of the google-services plugin (i
nformation about the latest version is available at https://bintray.com/android/android-tools/com
.google.gms.google-services/) or updating the version of com.google.android.gms to 9.2.0.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get mor
e log output.
以下是我的config.xml的片段:
<plugin name="cordova-plugin-console" spec="~1.0.3"/>
<plugin name="cordova-plugin-facebook4" spec="~1.7.3">
<variable name="APP_ID" value="XXX"/>
<variable name="APP_NAME" value="XXX"/>
</plugin>
<plugin name="cordova-plugin-whitelist" spec="~1.2.2"/>
<plugin name="cordova-plugin-statusbar" spec="~2.1.3"/>
<plugin name="cordova-plugin-splashscreen" spec="~3.2.2"/>
<plugin name="ionic-plugin-keyboard" spec="~2.2.1"/>
<plugin name="cordova-plugin-camera"/>
<plugin name="cordova-plugin-geolocation" spec="https://github.com/apache/cordova-plugin-geolocation"/>
<plugin name="cordova-plugin-googlemaps" spec="https://github.com/phonegap-googlemaps-plugin/cordova-plugin-googlemaps">
<variable name="API_KEY_FOR_ANDROID" value="XXXX"/>
<variable name="API_KEY_FOR_IOS" value="XXXX"/>
</plugin>
<plugin name="cordova-plugin-file-transfer" spec="~1.5.1"/>
<plugin name="cordova-plugin-file" spec="~4.2.0"/>
<plugin name="cordova-plugin-device" spec="~1.1.2"/>
我已阅读this和this related帖子,建议将此行添加到build.gradle(由离子自动创建):
apply plugin: 'com.google.gms.google-services'
我尝试将它添加到build-extras.gradle但没有运气。
在我的build.graddle中,我看到了这一行:
// PLUGIN GRADLE EXTENSIONS START
apply from: "cordova-plugin-fcm/upfront-FCMPlugin.gradle"
// PLUGIN GRADLE EXTENSIONS END
还有以下几行:
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
// SUB-PROJECT DEPENDENCIES START
debugCompile project(path: "CordovaLib", configuration: "debug")
releaseCompile project(path: "CordovaLib", configuration: "release")
compile "com.facebook.android:facebook-android-sdk:4.14.+"
compile "com.google.android.gms:play-services-maps:+"
compile "com.google.android.gms:play-services-location:+"
// SUB-PROJECT DEPENDENCIES END
}
我缺少什么,我该如何解决这个问题?
答案 0 :(得分:6)
我解决了。
plugings:
https://github.com/mauron85/cordova-plugin-background-geolocation
https://github.com/fechanique/cordova-plugin-fcm
1)。删除平台:cordova平台rm android。
2)。修改:plugins / cordova-plugin -fcm / src / android / FCMPlugin.gradle
替换:
apply plugin: com.google.gms.googleservices.GoogleServicesPlugin
with:
ext.postBuildExtras = {
apply plugin: com.google.gms.googleservices.GoogleServicesPlugin
}
3)添加平台:cordova平台添加android。
4)修改:platforms / android / project.properties
更改&#34; +&#34; for&#34; 11.4.2&#34;:
com.google.firebase:firebase-core:+
com.google.firebase:firebase-messaging:+
com.google.android.gms:play-services-location:+
应如下所示:
com.google.firebase:firebase-core:11.4.2
com.google.firebase:firebase-messaging:11.4.2
com.google.android.gms:play-services-location:11.4.2
全部:)。
答案 1 :(得分:2)
我有同样的问题。原来我安装了phonegap-plugin-push和cordova-plugin-fcm。他们造成了冲突。我不得不删除其中一个。致意:https://github.com/fechanique/cordova-plugin-fcm/issues/90#issuecomment-243435681
答案 2 :(得分:0)
Something wierd happened for me, when i remove the google-maps plugin, build the project and run it on my device, everything worked perfectly and all the maps loaded just fine.
答案 3 :(得分:0)
要解决此错误,请转到项目 - &gt;平台..&gt; android - &gt; .gradlefile并修改行
buildscript {
repositories {
jcenter()
mavenLocal()
}
dependencies {
classpath 'com.android.tools.build:gradle:+'
classpath 'com.google.gms:google-services:3.0.0' //change this line
}
} // apply plugin:'com.google.gms.google-services' //必须使用class而不是id(string)才能从非root gradle文件中应用插件 apply plugin:com.google.gms.googleservices.GoogleServicesPlugin
答案 4 :(得分:0)
我遇到了这个帖子,如果这对任何人都有帮助,这里是我做的文件和更改的集合,以便我的android客户端可以构建好。我与cordova-plugin-fcm和cordova-plugin-googleplus发生冲突。这是一个
平台/机器人/的build.gradle
cordova.system.library.3=com.google.android.gms:play-services-auth:10.2.0
cordova.system.library.4=com.google.android.gms:play-services-identity:10.2.0
android / project.properties(已更改+到10.2.0)
dependencies {
classpath 'com.android.tools.build:gradle:+'
classpath 'com.google.gms:google-services:3.1.0'
}
...
// apply plugin: 'com.google.gms.google-services' moved into this postBuildExtras function.
// class must be used instead of id(string) to be able to apply plugin from non-root gradle file
ext.postBuildExtras = {
apply plugin: com.google.gms.googleservices.GoogleServicesPlugin
}
cordova-plugin-fcm / mobile-FCMPlugin.gradle(此文件非常棘手)
{{1}}