android - Die Ionic Cordova-App wurde nach dem Update des Firebase SDK vom 17. Juni von Google nicht mehr kompiliert




ionic-framework ionic3 (4)

1. Erste Antwort

We haben eine PR für diese https://github.com/wizpanda/cordova-plugin-firebase-lib/pull/13 , die jedoch ein Upgrade von cordova-android auf 8.0.0 erfordert.

Für cordova-android 7.x wird eine cordova-android Zwischenzeit wird jedoch auch darüber diskutiert, ob die Unterstützung cordova-android oder nicht.

2. Bearbeiten - 19. Juni 2019

Eine neue Version v3.3.0 wurde veröffentlicht, um das durch die Google Firebase-Version verursachte Problem zu beheben, die 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 cordova-plugin-firebase-[email protected].3.0

3. Bearbeiten - 20. Juni 2019

Eine neue Version v4.0.1 wurde veröffentlicht, um das durch die Google Firebase-Version verursachte Problem zu beheben, die 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

Ich kann die Ionic Cordova App nach dem Firebase Major-Versionsupdate mit Breaking Changes, insbesondere nach dem Update vom 17. Juni 2019, nicht kompilieren.

Ich habe versucht, ein Downgrade auf Android Cordova 6.3.0 durchzuführen, aber mein Projekt muss 7.0.0 sein.

Dies ist meine Ionen-Info:

@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

Dies ist der Fehler, den ich erhalte:

: 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: Fehler : resource android: attr / fontVariationSettings nicht gefunden.

C: \ Users \ mmzep.gradle \ caches \ transforms-1 \ files-1.1 \ core-1.0.0.aar \ 73b4a83ab5e76f20c84a66b1c8444d08 \ res \ values ​​\ values.xml: 133: 5-70: AAPT: Fehler: Ressource android: attr / ttcIndex nicht gefunden.

C: \ Benutzer \ mmzep \ Desktop \ mario \ Seven \ SevenPassengerApp \ Plattformen \ android \ app \ build \ intermediates \ incremental \ mergeDebugResources \ merged.dir \ values ​​\ values.xml: 95: Fehler: Ressource android: attr / fontVariationSettings nicht gefunden. C: \ Benutzer \ mmzep \ Desktop \ mario \ Seven \ SevenPassengerApp \ Plattformen \ android \ app \ build \ intermediates \ incremental \ mergeDebugResources \ merged.dir \ values ​​\ values.xml: 95: Fehler: Ressource android: attr / ttcIndex nicht gefunden. Fehler: Fehler beim Verknüpfen von Referenzen.

Fehler beim Ausführen von aapt

com.android.ide.common.process.ProcessException: Fehler beim Ausführen von aapt


Befolgen Sie die nachstehende Reihenfolge für cordova-android <= 7.1.4

Cordova-Plattform entfernen Android
cordova plugin entferne cordova-plugin-firebase
cordova plugin add [email protected]
Cordova-Plattform hinzufügen Android

cordova-plugin-firebase ist jetzt in cordova-plugin-firebase-lib enthalten


Ich schlage vor, dass Sie versuchen, in Ihrem build-extras.gradle im platform / android-Ordner Ihres Projekts Folgendes hinzuzufügen:

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'
    }
}

Auf diese Weise erzwingen Sie, dass der Build-Befehl die Aktualisierungen ignoriert und die vorherigen Versionen verwendet. Sie müssen nicht einmal ein Plugin (oder die Android-Plattform-Version) ändern!

Jedes Mal, wenn die Bibliotheken von firebase aktualisiert werden, geschieht dies .. und es ist sehr ärgerlich. Ich würde gerne in der Lage sein, die automatische Aktualisierung der Abhängigkeiten beim Build-Befehl zu deaktivieren, aber ich denke nicht, dass dies möglich ist.


In platform / android / project.properties haben Sie folgende Einstellungen:

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:+

Ich hatte das gleiche Problem (Fehler: Ressource Android: attr / ttcIndex nicht gefunden).

[email protected] + cordova-plugin-androidx + cordova-plugin-androidx-adapter hat bei mir perfekt funktioniert.

Danke für diese Lösung.

Ich frage mich nur, ob es eine gute Zeit ist, diese beiden Plugins zu verwenden. Irgendeine Meinung?





ionic3