我正在 Windows for Android上使用离子2.当我添加cordova-plugin-fcm插件时,我无法再构建项目了.这是我得到的错误: BUILD FAILED Total time: 4.697 secs Error: cmd: Command failed with exit code 1 Error output: FAIL
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 }
我错过了什么,我该如何解决这个问题?
我解决了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
有:
ext.postBuildExtras = { apply plugin: com.google.gms.googleservices.GoogleServicesPlugin }
3)添加平台:cordova平台添加android.
4)修改:platforms / android / project.properties
更改“11.4.2”的“”:
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
就这样 :).