android firebase cordova ionic-framework ionic3

android - La aplicación Ionic Cordova dejó de compilarse después de la actualización del 17 de junio de Firebase SDK de Google



ionic-framework ionic3 (6)

1. Primera respuesta

We creado un PR para este https://github.com/wizpanda/cordova-plugin-firebase-lib/pull/13 pero eso requiere una actualización de cordova-android a 8.0.0 .

Se está haciendo una solución para cordova-android 7.x pero, mientras tanto, también se está discutiendo si se debe mantener el soporte o no.

2. Editar - 19 de junio de 2019

Se lanza una nueva versión v3.3.0 para solucionar el problema causado por la versión de Google Firebase que admite cordova-android <= 7.1.4 . https://github.com/wizpanda/cordova-plugin-firebase-lib/pull/14#issuecomment-503499409

cordova plugin remove cordova-plugin-firebase-lib # Or if you were using original fork #cordova plugin remove cordova-plugin-firebase cordova plugin add [email protected]

3. Editar - 20 de junio de 2019

Se lanza una nueva versión v4.0.1 para solucionar el problema causado por la versión de Google Firebase que admite cordova-android >= 8.0.0 . https://github.com/wizpanda/cordova-plugin-firebase-lib/pull/14#issuecomment-503499409

cordova plugin remove cordova-plugin-firebase-lib # Or if you were using original fork #cordova plugin remove cordova-plugin-firebase cordova plugin add cordova-plugin-firebase-lib

No puedo compilar la aplicación Ionic Cordova después de la actualización de la versión Firebase Major con Breaking Changes, específicamente con la actualización del 17 de junio de 2019.

Intenté degradar a Android Cordova 6.3.0 pero mi proyecto debe ser 7.0.0.

Esta es mi información iónica:

@ionic/cli-utils : 1.19.2 ionic (Ionic CLI) : 3.20.0 global packages: cordova (Cordova CLI) : 8.0.0 local packages: @ionic/app-scripts : 3.2.1 Cordova Platforms : android 7.0.0 browser 5.0.4 Ionic Framework : ionic-angular 3.9.3 System: Android SDK Tools : 26.1.1 Node : v8.9.1 npm : 5.5.1 OS : Windows 10 Environment Variables: ANDROID_HOME : C:/Development/android-sdk Misc: backend : pro

Este es el error que estoy recibiendo:

: app: processDebugResources C: / Users / mmzep.gradle / caches / transforms-1 / files-1.1 / core-1.0.0.aar / 73b4a83ab5e76f20c84a66b1c8444d08 / res / values ​​/ values.xml: 133: 5-70: AAPT: error : recurso android: attr / fontVariationSettings no encontrado.

C: / Users / mmzep.gradle / caches / transforms-1 / files-1.1 / core-1.0.0.aar / 73b4a83ab5e76f20c84a66b1c8444d08 / res / values ​​/ values.xml: 133: 5-70: AAPT: error: recurso y android: attr / ttcIndex no encontrado.

C: / Users / mmzep / Desktop / mario / Seven / SevenPassengerApp / platforms / android / app / build / intermedios / incremental / mergeDebugResources / merged.dir / values ​​/ values. values: 95: error: resource android: attr / fontVariationSettings no encontró. C: / Users / mmzep / Desktop / mario / Seven / SevenPassengerApp / platforms / android / app / build / intermedios / incremental / mergeDebugResources / merged.dir / values ​​/ values. values: 95: error: resource android: attr / ttIndex no encontró. error: fallido enlazando referencias.

Error al ejecutar aapt

com.android.ide.common.process.ProcessException: no se pudo ejecutar aapt


Este fallo de compilación se debe a una versión de la versión principal de las bibliotecas de servicios de Google Play y Firebase el 17 de junio.

Las nuevas versiones de la biblioteca tienen los siguientes requisitos:

  • Actualice com.android.tools.build:gradle a v3.2.1 o posterior.
  • Actualice compileSdkVersion a 28 o posterior.
  • Actualiza tu aplicación para usar Jetpack (AndroidX)

Los dos primeros requisitos se pueden resolver actualizando para usar [email protected] .

El tercero requiere que su proyecto de Android migre a AndroidX (Jetpack). AndroidX es el sucesor de la biblioteca de soporte de Android ampliamente utilizada. AndroidX ahora se usa en las últimas versiones de las bibliotecas Play Services / Firebase y la biblioteca Support se usa en muchos complementos existentes, como cordova-plugin-firebase . Las dos bibliotecas no pueden vivir lado a lado en la misma compilación de Android, ya que esto provocará un error de compilación.

Para resolver este problema, agregue los siguientes dos complementos a su proyecto de Cordova:

  • AndroidX para habilitar AndroidX en el proyecto de Android.
  • cordova-plugin-androidx-adapter para parchear dinámicamente el código fuente de cualquier plugin usando la Biblioteca de Soporte para usar los equivalentes de AndroidX.

Para ver un ejemplo práctico de cómo probar esto en un proyecto de prueba, vea mi comentario sobre este problema de Github .

Nota: si está usando cordova-plugin-firebase y encuentra errores, puede usar mi fork de ese plugin que se publica como cordova-plugin-firebasex y está arreglado para resolver los problemas causados ​​por el nuevo SDK de Firebase:

rm -Rf platforms/android cordova plugin rm cordova-plugin-firebase rm -Rf plugins/ node_modules/ npm install cordova plugin add cordova-plugin-firebasex cordova platform add android


Le sugiero que intente agregar su build-extras.gradle, dentro de la plataforma / carpeta de Android de su proyecto, esto:

configurations.all { resolutionStrategy { force ''com.android.support:support-v4:27.1.1'' force ''com.google.android.gms:play-services-tagmanager:16.0.8'' force ''com.google.android.gms:play-services-base:16.1.0'' force ''com.google.android.gms:play-services-tasks:16.0.1'' force ''com.google.android.gms:play-services-basement:16.2.0'' force ''com.google.android.gms:play-services-gcm:16.1.0'' force ''com.google.android.gms:play-services-stats:16.0.1'' force ''com.google.android.gms:play-services-location:16.0.0'' force ''com.google.android.gms:play-services-auth:16.0.1'' force ''com.google.android.gms:play-services-identity:16.0.0'' } }

De esta manera forzará el comando de compilación para ignorar las actualizaciones y para usar las versiones anteriores. ¡Ni siquiera necesitas cambiar ningún complemento (ni la versión de la plataforma Android)!

Cada vez que se actualizan las librerías de firebase, esto sucede ... y es muy molesto. Me encantaría poder desactivar la actualización de dependencia automática en el comando de compilación, pero no creo que sea posible.


Siga la siguiente secuencia para cordova-android <= 7.1.4

plataforma cordova quitar android
complemento de cordova quitar cordova-plugin-firebase
complemento de cordova agregar [email protected]
plataforma cordova agregar android

cordova-plugin-firebase ahora se incluye en cordova-plugin-firebase-lib


Teniendo en plataforma / android / project.properties las siguientes configuraciones:

cordova.gradle.include.1=cordova-plugin-firebase/app-build.gradle cordova.system.library.4=com.google.firebase:firebase-core:+ cordova.system.library.5=com.google.firebase:firebase-messaging:+ cordova.system.library.6=com.google.firebase:firebase-config:+ cordova.system.library.7=com.google.firebase:firebase-perf:+

Tuve el mismo problema (error: recurso android: attr / ttcIndex no encontrado).

[email protected] + cordova-plugin-androidx + cordova-plugin-androidx-adapter funcionó perfectamente para mí.

Gracias por esta solución.

Me pregunto si es una buena apuesta de mucho tiempo para usar esos dos complementos. Alguna opinion


ionic cordova platform remove android ionic cordova plugin remove cordova-plugin-firebase ionic cordova plugin add [email protected]

(Si eliminó esta instalación npm --save @ ionic-native / firebase @ 4, vuelva a instalarla)

Hubo un problema de fusión de dex en Android 7.0.0 para mí. Así que he usado Android 8.0.0

Para utilizar Android 8.0.0

ionic cordova platform add [email protected] if required install below 2 plugin for android 8.0.0 ionic cordova plugin add cordova-plugin-androidx

y

ionic cordova cordova-plugin-androidx-adapter