the support services plugin please play google gms fcm cordova ionic-framework cordova-plugins ionic2

cordova - support - or updating the version of com google android gms to 9.0 0 ionic



La compilaciĆ³n de FCMPlugin falla debido a un conflicto de versiĆ³n con los servicios de google gms (5)

Estoy usando esto con ionic 2 en Windows para Android. Cuando agrego el complemento cordova-plugin-fcm, ya no puedo construir el proyecto. Aquí está el error que estoy recibiendo:

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.

Debajo hay un fragmento de mi 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"/>

He leído esto y estas publicaciones relacionadas que sugieren agregar esta línea a build.gradle (que se crea automáticamente por iónica):

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

He intentado agregarlo a build-extras.gradle sin suerte.

En mi build.graddle, veo esta línea:

// PLUGIN GRADLE EXTENSIONS START apply from: "cordova-plugin-fcm/upfront-FCMPlugin.gradle" // PLUGIN GRADLE EXTENSIONS END

Y también estas líneas:

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 }

¿Qué me estoy perdiendo y cómo puedo solucionar este problema?



Algo extraño me pasó, cuando eliminé el plugin google-maps, construí el proyecto y lo ejecuté en mi dispositivo, todo funcionó perfectamente y todos los mapas se cargaron bien.


Para resolver este error, vaya al Proyecto -> plataforma ...> android ->. Gradlefile y modifique la línea

buildscript { repositories { jcenter() mavenLocal() } dependencies { classpath ''com.android.tools.build:gradle:+'' classpath ''com.google.gms:google-services:3.0.0'' //change this line }

} // aplicar complemento: se debe usar la clase // ''com.google.gms.google-services'' en lugar de id (cadena) para poder aplicar el complemento desde el complemento de aplicación de archivo gradle no root: com.google.gms. googleservices.GoogleServicesPlugin


Me encontré con este hilo, en caso de que esto sea útil para cualquier persona, aquí están el conjunto de archivos y cambios que hice para que mi cliente de Android compilara bien. Estaba teniendo un conflicto con cordova-plugin-fcm y cordova-plugin-googleplus. Aquí hay un

plataformas / android / build.gradle

dependencies { classpath ''com.android.tools.build:gradle:2.2.3'' // I added this: classpath ''com.google.gms:google-services:3.1.0'' } .. allprojects { repositories { // changed the + to 10.2.0 compile "com.google.android.gms:play-services-auth:10.2.0" compile "com.google.android.gms:play-services-identity:10.2.0" } } // at end of the promptForReleaseKeyPassword function, add this: def promptForReleaseKeyPassword() { ... apply plugin: ''com.google.gms.google-services'' }

android / project.properties (cambiado + a 10.2.0)

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

cordova-plugin-fcm / mobile-FCMPlugin.gradle (este archivo fue complicado)

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 }


Lo solucioné

enchufes:

https://github.com/mauron85/cordova-plugin-background-geolocation

https://github.com/fechanique/cordova-plugin-fcm

1). eliminar la plataforma: cordova platform rm android.

2). modificar: plugins / cordova-plugin-fcm / src / android / FCMPlugin.gradle

reemplazar:

apply plugin: com.google.gms.googleservices.GoogleServicesPlugin

con:

ext.postBuildExtras = { apply plugin: com.google.gms.googleservices.GoogleServicesPlugin }

3) agregar plataforma: plataforma cordova agregar Android.

4) modificar: plataformas / android / project.properties

cambie el "+" por "11.4.2":

com.google.firebase:firebase-core:+ com.google.firebase:firebase-messaging:+ com.google.android.gms:play-services-location:+

debería verse así:

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

eso es todo :).