Cordova-plugin-firebase: Je ne peux plus construire sur Android

Créé le 18 juin 2019  ·  59Commentaires  ·  Source: arnesson/cordova-plugin-firebase

Je développais mon application normalement. J'ai pu le construire 10 fois aujourd'hui avec succès.
Cependant, j'ai recompilé et maintenant je ne peux plus m'exécuter lorsque le plugin firebase est dans le projet.

Si je supprime le plugin, le projet s'exécute.

J'utilise [email protected] (

L'erreur de génération suivante se produit :

:app:processDebugResources/home/sandro/.gradle/caches/transforms-1/files-1.1/appcompat-v7-26.1.0.aar/c9104c96e21bf9c9613f4661f4e5d49e/res/values/values.xml:246:5-69: AAPT: error: resource android:attr/fontVariationSettings not found.

/home/sandro/.gradle/caches/transforms-1/files-1.1/appcompat-v7-26.1.0.aar/c9104c96e21bf9c9613f4661f4e5d49e/res/values/values.xml:246:5-69: AAPT: error: resource android:attr/ttcIndex not found.

/home/user/my_cordova_project/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:244: error: resource android:attr/fontVariationSettings not found.
/home/user/my_cordova_project/platforms/android/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:244: error: resource android:attr/ttcIndex not found.
error: failed linking references.

Failed to execute aapt
com.android.ide.common.process.ProcessException: Failed to execute aapt
    at com.android.builder.core.AndroidBuilder.processResources(AndroidBuilder.java:796)
    at com.android.build.gradle.tasks.ProcessAndroidResources.invokeAaptForSplit(ProcessAndroidResources.java:551)
    at com.android.build.gradle.tasks.ProcessAndroidResources.doFullTaskAction(ProcessAndroidResources.java:285)
    at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.java:109)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
    at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$IncrementalTaskAction.doExecute(DefaultTaskClassInfoStore.java:173)
    at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:134)
    at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:121)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:122)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:111)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:63)
    at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88)
    at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:124)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:80)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:105)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:99)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:625)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:580)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:99)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
    at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:503)
    at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:482)
    at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:79)
    at com.android.builder.core.AndroidBuilder.processResources(AndroidBuilder.java:794)
    ... 48 more
Caused by: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
    at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:503)
    at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:462)
    at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:79)
    at com.android.builder.internal.aapt.v2.QueueableAapt2.lambda$makeValidatedPackage$1(QueueableAapt2.java:179)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    ... 1 more
Caused by: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
    at com.android.builder.png.AaptProcess$NotifierProcessOutput.handleOutput(AaptProcess.java:463)
    at com.android.builder.png.AaptProcess$NotifierProcessOutput.err(AaptProcess.java:415)
    at com.android.builder.png.AaptProcess$ProcessOutputFacade.err(AaptProcess.java:332)
    at com.android.utils.GrabProcessOutput$1.run(GrabProcessOutput.java:104)

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugResources'.

Quelqu'un d'autre a le même problème ? Merci.

Commentaire le plus utile

Solution que j'ai tirée de ce commentaire https://github.com/arnesson/cordova-plugin-firebase/issues/1081#issuecomment -503041641

  1. mettez build-extras.gradle à la racine de votre projet
def dependencyMap = [
        "com.google.firebase:firebase-core": "16.0.8",
        "com.google.firebase:firebase-iid": "17.1.1",
        "com.google.firebase:firebase-messaging": "17.5.0",
        "com.google.firebase:firebase-config": "16.4.0",
        "com.google.firebase:firebase-perf": "16.2.4",
        "com.google.android.gms:play-services-tagmanager": "16.0.8",
        "com.google.firebase:firebase-auth": "16.2.0"
]

allprojects {
    repositories {
            google()
            jcenter()
            mavenLocal()
    }

    configurations.all {

        resolutionStrategy {

            eachDependency { DependencyResolveDetails details ->
                def group = details.requested.group
                def name = details.requested.name
                def fullName =  group + ":" + name
                print fullName
                if (dependencyMap.containsKey(fullName)) {
                    details.useVersion dependencyMap[fullName]
                }
            }
        }
    }

}
  1. mettez ce code hook dans vos scripts/copy_build_extra.js
#!/usr/bin/env node

const fs = require('fs')
fs.copyFileSync("./build-extras.gradle", "./platforms/android/build-extras.gradle");
  1. configurer le crochet dans config.xml à l'intérieur de la plate-forme Android
<platform name="android">
  <hook src="scripts/copy_build_extra.js" type="after_prepare" />
</platform>
  1. réinstaller la plate-forme pour activer le crochet
cordova platform rm android
cordova platform add android

a fonctionné pour moi, l'espoir fera pour vous aussi

Tous les 59 commentaires

combattent le même problème depuis trois jours déjà

Bonjour @SandroMoretti ,

Je me suis battu toute la journée avec ce problème... Mon projet ne peut pas non plus être mis à jour vers Cordova 8 alors j'ai même décidé de le porter sur Ionic 4 (cela a été fait avec Ionic 3). Donc, avec Cordova 8 et Ionic 4, après de nombreuses erreurs, je suis arrivé au même point... L'erreur que vous avez postée est liée à Android 28, et la raison en est que cette bibliothèque utilise 'com.google. firebase:firebase-X :+' en tant que dépendance et hier, Firebase a publié une version de rupture FB le 17 juin qui oblige à utiliser Android 28... J'ai joué avec les dépendances pour voir si je pouvais le contourner mais j'ai toujours eu une autre erreur .. .

Toute aide serait appréciée Merci!

Pareil ici. Je pense que c'est parce que le plugin dépend de com.google.firebase:firebase-auth:+ qui vient de se mettre à jour :

https://developers.google.com/android/guides/releases

Abandon de la prise en charge de l'API <28

Même problème aussi ! Je ne peux plus construire sur Android.

J'ai le même problème, maintenant je ne peux pas compiler l'application et obtenir cette erreur :

: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: resource android:attr/fontVariationSettings not found.

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: resource android:attr/ttcIndex not found.

C:\Users\mmzep\Desktop\mario\Seven\SevenPassengerApp\platforms\android\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:95: error: resource android:attr/fontVariationSettings not found.
C:\Users\mmzep\Desktop\mario\Seven\SevenPassengerApp\platforms\android\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:95: error: resource android:attr/ttcIndex not found.
error: failed linking references.

Failed to execute aapt

com.android.ide.common.process.ProcessException: Failed to execute aapt

        at com.android.builder.core.AndroidBuilder.processResources(AndroidBuilder.java:796)
        at com.android.build.gradle.tasks.ProcessAndroidResources.invokeAaptForSplit(ProcessAndroidResources.java:551)
        at com.android.build.gradle.tasks.ProcessAndroidResources.doFullTaskAction(ProcessAndroidResources.java:285)
        at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.java:109)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

Je suis sur un délai très serré et cela casse mon projet car il repose entièrement sur firebase.

on dirait que cette recette m'a aidé https://github.com/arnesson/cordova-plugin-firebase/issues/1081#issuecomment -503041641

Même problème ici. J'ai essayé de mettre à jour toutes les dépendances avec les exigences sur https://firebase.google.com/support/release-notes/android#20180523 et cordova android vers 8.0.0, mais sans succès. Lorsque je supprime cordova-plugin-firebase, cela fonctionne. Voici l'erreur que j'obtiens :

Dependency failing: com.google.android.gms:play-services-tagmanager-api:15.0.2 -> com.google.android.gms:play-services-m
  easurement-base@[15.0.2], but play-services-measurement-base version was 15.0.4.

  The following dependencies are project dependencies that are direct or have transitive dependencies that lead to the art
  ifact with the issue.
  -- Project 'app' depends onto com.google.android.gms:[email protected]
  -- Project 'app' depends onto com.google.firebase:[email protected]
  -- Project 'app' depends onto com.google.android.gms:[email protected]
  -- Project 'app' depends onto com.google.android.gms:[email protected]
  -- Project 'app' depends onto com.google.android.gms:[email protected]
  -- Project 'app' depends onto com.google.android.gms:[email protected]

Donc impossible de construire avec firebase.

Ce matin, je transpire déjà en voyant le gradle télécharger de nouveaux fichiers Maven et selon mes attentes, tout a boum!

Pareil ici. une solution s'il vous plait

Solution que j'ai tirée de ce commentaire https://github.com/arnesson/cordova-plugin-firebase/issues/1081#issuecomment -503041641

  1. mettez build-extras.gradle à la racine de votre projet
def dependencyMap = [
        "com.google.firebase:firebase-core": "16.0.8",
        "com.google.firebase:firebase-iid": "17.1.1",
        "com.google.firebase:firebase-messaging": "17.5.0",
        "com.google.firebase:firebase-config": "16.4.0",
        "com.google.firebase:firebase-perf": "16.2.4",
        "com.google.android.gms:play-services-tagmanager": "16.0.8",
        "com.google.firebase:firebase-auth": "16.2.0"
]

allprojects {
    repositories {
            google()
            jcenter()
            mavenLocal()
    }

    configurations.all {

        resolutionStrategy {

            eachDependency { DependencyResolveDetails details ->
                def group = details.requested.group
                def name = details.requested.name
                def fullName =  group + ":" + name
                print fullName
                if (dependencyMap.containsKey(fullName)) {
                    details.useVersion dependencyMap[fullName]
                }
            }
        }
    }

}
  1. mettez ce code hook dans vos scripts/copy_build_extra.js
#!/usr/bin/env node

const fs = require('fs')
fs.copyFileSync("./build-extras.gradle", "./platforms/android/build-extras.gradle");
  1. configurer le crochet dans config.xml à l'intérieur de la plate-forme Android
<platform name="android">
  <hook src="scripts/copy_build_extra.js" type="after_prepare" />
</platform>
  1. réinstaller la plate-forme pour activer le crochet
cordova platform rm android
cordova platform add android

a fonctionné pour moi, l'espoir fera pour vous aussi

c'est la meilleure solution, avec moins de "hacks" à faire : https://github.com/arnesson/cordova-plugin-firebase/issues/1081#issuecomment -503135862 (nécessite cordova-android@8)

Merci @igorkurochka ,

PS: j'utilise cordova 6.5 et Android 7.1.4, donc je n'ai pas besoin de mettre à jour vers Android 8 comme Dann l'a dit.

@SandroMoretti, je suppose que c'est bien si vous pouvez mettre à jour, faites-le .. parce que ce plugin générera plus de maux de tête, depuis avril, j'utilise un fork du plugin, pour résoudre un problème de construction, j'utilisais cordova-android@7 , semble-t-il la bibliothèque qui dépend de ce plugin ne supporte plus l'API < 28, il est donc bon d'utiliser cordova-android@8 qui utilise l'API 28...

@dann95 , je sais. J'ai essayé la mise à jour. Je ne sais pas pourquoi, mais je ne peux pas mettre à jour mon cordova.

Npm installe simplement cordova 6.5 ici. Peut-être que mon système est obsolète (ubuntu 14).
Un jour, je réserverai ma journée pour mettre à niveau mon système d'exploitation, puis je mettrai à jour la plate-forme Cordova et Android.
Merci.

votre cli Cordova est installé globalement, vous devez le supprimer globalement. "-g" xD

@SandroMoretti, je suppose que c'est bien si vous pouvez mettre à jour, faites-le .. parce que ce plugin générera plus de maux de tête, depuis avril, j'utilise un fork du plugin, pour résoudre un problème de construction, j'utilisais cordova-android@7 , semble-t-il la bibliothèque qui dépend de ce plugin ne supporte plus l'API < 28, il est donc bon d'utiliser cordova-android@8 qui utilise l'API 28...

Avant le répertoire cordova-plugin-firebase était de 93,9 Mo, maintenant de 1,30 Mo.
Avant que cordova-plugin-cocoapod-support n'était pas installé, il l'est maintenant.

Idem pour toi aussi ?

@pegasx
Cocopod-support n'est pas installé pour moi.

@pegasx
Cocopod-support n'est pas installé pour moi.

Désolé, vous n'avez pas installé la solution de dpa99c. La question est donc pour @ dann95.

Avant le répertoire cordova-plugin-firebase était de 93,9 Mo, maintenant de 1,30 Mo.
Avant que cordova-plugin-cocoapod-support n'était pas installé, il l'est maintenant.

Idem pour toi aussi ?

image

Cocopod doit être pour "swift" il a été installé dans mon Linux aussi, va étudier pourquoi

à propos de la taille, idk quelle était la taille avant, mais cela semble fonctionner.

cette solution a fonctionné pour moi, mais j'ai dû créer un nouveau projet et copier tous mes fichiers dans ce nouveau projet car l'utilisation des étapes du lien posait plus de problèmes sur le référentiel existant ...

Merci @igorkurochka ,

@igorkurochka
Merci pour votre correction. Cela fonctionne aussi de mon côté. Ma compréhension est que la liste ci-dessous est les dépendances du plugin firbase. Ne devraient-ils pas être définis par le plugin lui-même ? Les ajouter au projet Android à l'aide d'un crochet cordova externe ressemble à une solution de contournement, mais pas à une solution. Existe-t-il une possibilité de créer une pull request pour obtenir les versions exactes des dépendances définies dans le référentiel principal ? Merci.

```
def dependanceMap = [
"com.google. firebase:firebase-core " : "16.0.8",
"com.google. firebase:firebase-iid " : "17.1.1",
"com.google. firebase:firebase-messaging " : "17.5.0",
"com.google. firebase:firebase-config " : "16.4.0",
"com.google. firebase:firebase-perf " : "16.2.4",
"com.google.android. gms:play-services-tagmanager " : "16.0.8",
"com.google. firebase:firebase-auth " : "16.2.0"
]

@SandroMoretti
Il est vrai que @igorkurochka a résolu le problème, mais il s'agit plutôt d'une solution de contournement et non d'une solution. Les versions des dépendances du plugin doivent être définies par le plugin et non par l'application cordova. Ce correctif peut devenir peu fiable si les dépendances du plugin changent.

Je suggère de rouvrir ce problème.

Solution que j'ai tirée de ce commentaire #1081 (commentaire)

  1. mettez build-extras.gradle à la racine de votre projet
def dependencyMap = [
        "com.google.firebase:firebase-core": "16.0.8",
        "com.google.firebase:firebase-iid": "17.1.1",
        "com.google.firebase:firebase-messaging": "17.5.0",
        "com.google.firebase:firebase-config": "16.4.0",
        "com.google.firebase:firebase-perf": "16.2.4",
        "com.google.android.gms:play-services-tagmanager": "16.0.8",
        "com.google.firebase:firebase-auth": "16.2.0"
]

allprojects {
    repositories {
            google()
            jcenter()
            mavenLocal()
    }

    configurations.all {

        resolutionStrategy {

            eachDependency { DependencyResolveDetails details ->
                def group = details.requested.group
                def name = details.requested.name
                def fullName =  group + ":" + name
                print fullName
                if (dependencyMap.containsKey(fullName)) {
                    details.useVersion dependencyMap[fullName]
                }
            }
        }
    }

}
  1. mettez ce code hook dans vos scripts/copy_build_extra.js
#!/usr/bin/env node

const fs = require('fs')
fs.copyFileSync("./build-extras.gradle", "./platforms/android/build-extras.gradle");
  1. configurer le crochet dans config.xml à l'intérieur de la plate-forme Android
<platform name="android">
  <hook src="scripts/copy_build_extra.js" type="after_prepare" />
</platform>
  1. réinstaller la plate-forme pour activer le crochet
cordova platform rm android
cordova platform add android

a fonctionné pour moi, l'espoir fera pour vous aussi

Salut @igorkurochka , je suis toujours confronté à ce type de problème, pouvez-vous m'aider s'il vous plaît
platform/android/app/src/main/java/org/apache/cordova/firebase/FirebasePlugin. java:9 : erreur : impossible de trouver le symbole
importer android.support.v4.app.NotificationManagerCompat ;

@pankajPizone avez-vous supprimé le cache gradle ?

rm -rf ~/.gradle/

@ dann95 du dossier Android ?

le "~" signifie votre maison, donc il effacera quelque chose comme

/home/myusername/.gradle/

OK @dann95 j'essaye

@ dann95 c'est toujours pareil

D'accord.
Ouvre encore.
Merci @uifox

Dan, à propos de mon cordova cli, j'ai été supprimé globalement et réinstallé globalement.
C'est comme je l'ai dit, après la réinstallation, gardez 6.5.

Merci.

@SandroMoretti avez-vous trouvé une solution ?
je suis confronté à ce problème
firebase/FirebasePluginMessagingService. java:11 : erreur : impossible de trouver le symbole
importer android.support.v4.app.NotificationCompat ;

@SandroMoretti peut-être mettre à niveau la version du nœud ? essayez d'utiliser nvm pour pouvoir basculer facilement entre les versions de nœud.

@pankajPizone pouvez-vous afficher votre config.xml avec tous les plugins ?

@dann95 voici le plugin dans config.xml

<plugin name="cordova-plugin-statusbar" spec="^2.4.2" />
    <plugin name="cordova-plugin-splashscreen" spec="^5.0.2" />
    <plugin name="cordova-plugin-ionic-webview" spec="^2.4.0">
        <variable name="ANDROID_SUPPORT_ANNOTATIONS_VERSION" value="27.+" />
    </plugin>
    <plugin name="cordova-plugin-ionic-keyboard" spec="^2.1.3" />
    <plugin name="cordova-plugin-firebase" spec="^2.0.5" />
    <plugin name="cordova-plugin-facebook4" spec="^4.2.1">
        <variable name="APP_ID" value="xxxxxx" />
        <variable name="APP_NAME" value="x x" />
        <variable name="FACEBOOK_ANDROID_SDK_VERSION" value="4.38.1" />
        <variable name="FACEBOOK_HYBRID_APP_EVENTS" value="false" />
    </plugin>
    <plugin name="cordova-plugin-nativegeocoder" spec="^3.2.0" />
    <plugin name="cordova-plugin-geolocation" spec="^4.0.1">
        <variable name="GEOLOCATION_USAGE_DESCRIPTION" value="To locate you" />
    </plugin>
    <plugin name="cordova-plugin-appavailability" spec="^0.4.2" />
    <plugin name="cordova-plugin-media" spec="^5.0.2" />
    <plugin name="cordova-plugin-music-controls" spec="^2.2.0" />
    <plugin name="cordova-plugin-contacts" spec="^3.0.1" />
    <plugin name="cordova-plugin-applemusic" spec="^1.3.3" />
    <plugin name="cordova-plugin-apple-music" spec="^0.2.5" />
    <plugin name="cordova-plugin-whitelist" spec="^1.3.3" />
    <plugin name="com.telerik.plugins.nativepagetransitions" spec="^0.6.5" />
    <plugin name="cordova-plugin-applemusic" spec="^1.3.3" />
    <plugin name="cordova-plugin-apple-music" spec="^0.2.5" />
    <plugin name="cordova-plugin-add-swift-support" spec="1.7.2" />
    <allow-navigation href="http://192.168.1.120:8100" sessionid="8e9a7c7b" />
    <plugin name="com.telerik.plugins.nativepagetransitions" spec="0.6.5" />
  <plugin name="cordova-plugin-googleplus" spec="7.0.0">
        <variable name="REVERSED_CLIENT_ID" value="com.googleusercontent.apps.xxxxxxx" />
        <variable name="WEB_APPLICATION_CLIENT_ID" value="xxxxx-xxxxxxx.apps.googleusercontent.com" />
        <variable name="PLAY_SERVICES_VERSION" value="11.8.0" />
    </plugin>
    <plugin name="cordova-plugin-device" spec="../../cordova-plugin-device" />
    <plugin name="uk.co.workingedge.phonegap.plugin.launchnavigator" spec="5.0.4">
        <variable name="GOOGLE_API_KEY_FOR_ANDROID" value="xxxxx" />
        <variable name="OKHTTP_VERSION" value="3.12.0" />
    </plugin>
    <plugin name="cordova-plugin-customurlscheme" spec="4.3.0">
        <variable name="URL_SCHEME" value="spotifyapp" />
        <variable name="ANDROID_SCHEME" value=" " />
        <variable name="ANDROID_HOST" value=" " />
        <variable name="ANDROID_PATHPREFIX" value="/" />
    </plugin>
    <plugin name="cordova-spotify-oauth" spec="0.1.11" />
    <plugin name="cordova-spotify" spec="0.5.8" />
    <plugin name="cordova-plugin-geofence" spec="0.7.0" />
    <engine name="ios" spec="4.5.5" />
    <engine name="android" spec="8.0.0" />

@ dann95 est-il utile de trouver un problème ?

@pankajPizone, je ne sais pas pourquoi, avez-vous essayé de supprimer et d'ajouter à nouveau la plate-forme ?

@ dann95 J'ai essayé plusieurs fois.

J'ai résolu ces problèmes en utilisant deux plugins

ionic cordova plugin add cordova-plugin-androidx
ionic cordova plugin add cordova-plugin-androidx-adapter

@pankajPizone j'utilise aussi ces deux plugins, mais j'ai mis à jour ma version cordova, c'est la raison de les utiliser...

J'ai toujours des problèmes avec cette mise à jour :

  • Qu'est ce qui ne s'est pas bien passé:
    Impossible de déterminer les dépendances de la tâche ': app:compileDebugJavaWithJavac '.

    Impossible de résoudre toutes les dépendances de tâches pour la configuration ': app:debugCompileClasspath '.
    Impossible de trouver une version correspondant à androidx. legacy:legacy-support-v4 :27.+.
    Versions qui ne correspondent pas :

    • 1.0.0
    • 1.0.0-rc02
    • 1.0.0-rc01
    • 1.0.0-beta01
    • 1.0.0-alpha3

      • 1 de plus

        Requis par:

        projet :application

  • Essayer:
    Exécutez avec l'option --stacktrace pour obtenir la trace de la pile. Exécutez avec l'option --info ou --debug pour obtenir plus de sorties de journal. Exécutez avec --scan pour obtenir des informations complètes.

  • Obtenez plus d'aide sur https://help.gradle.org

ÉCHEC DE LA CONSTRUCTION en 58 s
C:UsersAdminDesktopOMNICARomnicarplatformsandroidgradlew : La commande a échoué avec le code de sortie 1 Sortie d'erreur :
ÉCHEC : la génération a échoué avec une exception.

  • Qu'est ce qui ne s'est pas bien passé:
    Impossible de déterminer les dépendances de la tâche ':app:compileDebugJavaWithJavac'.
    > Impossible de résoudre toutes les dépendances de tâches pour la configuration ':app:debugCompileClasspath'.
    > Impossible de trouver une version correspondant à androidx. legacy:legacy-support-v4 :27.+.
    Versions qui ne correspondent pas :

    • 1.0.0

    • 1.0.0-rc02

    • 1.0.0-rc01

    • 1.0.0-beta01

    • 1.0.0-alpha3



      • 1 de plus


        Requis par:


        projet :application



Il semble que lorsque j'ajoute une plate-forme, les dépendances dans build.gradle sont correctes, mais lorsque j'exécute "cordova compile", cela transforme à nouveau mes dépendances en mauvaises.

plug-in cordova ls
cordova-fabric-plugin 1.1.14-dev "cordova-fabric-plugin"
cordova-plugin-android-permissions 1.0.0 "Autorisations"
cordova-plugin-androidx 1.0.2 "cordova-plugin-androidx"
cordova-plugin-androidx-adapter 1.0.2 "cordova-plugin-androidx-adapter"
Cordova-plugin-camera 4.0.3 "Caméra"
cordova-plugin-cocoapod-supportx 1.6.1 "Prise en charge de la dépendance de Cordova CocoaPods"
cordova-plugin-crop 0.3.1 "CropPlugin"
cordova-plugin-device 1.1.7 "Périphérique"
cordova-plugin-file 6.0.1 "Fichier"
cordova-plugin-filechooser 1.2.0 "Sélecteur de fichier"
cordova-plugin-filepath 1.5.5 "cordova-plugin-filepath"
cordova-plugin-firebasex 2.0.6 "Google Firebase Plugin"
cordova-plugin-geolocation 4.0.1 "Géolocalisation"
cordova-plugin-googlemaps 2.6.3-20190614-1928 "cordova-plugin-googlemaps"
cordova-plugin-ionic-keyboard 2.1.3 "cordova-plugin-ionic-keyboard"
cordova-plugin-ionic-webview 2.5.0 "cordova-plugin-ionic-webview"
cordova-plugin-screen-orientation 3.0.1 "Orientation de l'écran"
cordova-plugin-splashscreen 5.0.2 "Splashscreen"
cordova-plugin-statusbar 2.4.2 "StatusBar"
cordova-plugin-whitelist 1.3.3 "Liste blanche"
cordova-sqlite-storage 3.2.0 "Plugin de stockage cordova sqlite - version du plug-in cordova-sqlite-storage"
es6-promise-plugin 4.2.2 "Promesse"
info.protonet.imageresizer 0.1.1 "Redimensionneur d'image"
onesignal-cordova-plugin 2.4.7 "Notifications Push OneSignal"

J'ai aussi le problème pour error: cannot find symbol class NotificationManagerCompat . J'aimerais voir un PR pour régler ce problème. Je suis actuellement fork de la fourche wizpanda.

J'ai résolu ces problèmes en utilisant deux plugins

ionic cordova plugin add cordova-plugin-androidx
ionic cordova plugin add cordova-plugin-androidx-adapter

Le mien est également construit avec succès avec cette solution, mais il se trouve qu'il s'agit d'une sorte d'erreur qui rend mon application inutilisable. C'est comme si les plugins n'étaient pas accessibles, je les ai ajoutés correctement. En fait, adb logcat lance :
AndroidProtocolHandler: Unable to open asset URL: file:///android_asset/www/cordova_plugins.js
Mais je suis presque sûr d'avoir créé le projet correctement. Complètement perdu.

@AurumLinux Vous devriez essayer de reconstruire votre application étape par étape en commençant par les commandes de ce commentaire ...
J'ai également été enterré dans des erreurs lorsque j'ai essayé d'installer simplement les plugins au-dessus de mon ancien projet existant.

Le problème était que j'ajoutais le plugin cordova-plugin-admobpro-firebase au lieu du cordova-plugin-admobpro. Maintenant, ça marche bien.

cordova-plugin-firebase -> src -> android -> build.gradle changer la ligne n° 20 com.google. firebase:firebase-auth :+ vers com.google. firebase:firebase-auth :16.2.1

ça marche bien avec :

plugin cordova ionique ajouter cordova-plugin-androidx
ionic cordova plugin ajouter cordova-plugin-androidx-adapter

ça marche bien avec :

plugin cordova ionique ajouter cordova-plugin-androidx
ionic cordova plugin ajouter cordova-plugin-androidx-adapter

@fvadouko quel android utilisez-vous ? 7.1 ou 8.0 ? d'autres bibliothèques ou correctifs compatibles ?

@AurumLinux Vous devriez essayer de reconstruire votre application étape par étape en commençant par les commandes de ce commentaire ...
J'ai également été enterré dans des erreurs lorsque j'ai essayé d'installer simplement les plugins au-dessus de mon ancien projet existant.

J'ai lutté avec ce bug pendant quelques jours maintenant. une fois que je suis passé au fork à partir du commentaire lié, tout a fonctionné

Solution que j'ai tirée de ce commentaire #1081 (commentaire)

  1. mettez build-extras.gradle à la racine de votre projet
def dependencyMap = [
        "com.google.firebase:firebase-core": "16.0.8",
        "com.google.firebase:firebase-iid": "17.1.1",
        "com.google.firebase:firebase-messaging": "17.5.0",
        "com.google.firebase:firebase-config": "16.4.0",
        "com.google.firebase:firebase-perf": "16.2.4",
        "com.google.android.gms:play-services-tagmanager": "16.0.8",
        "com.google.firebase:firebase-auth": "16.2.0"
]

allprojects {
    repositories {
            google()
            jcenter()
            mavenLocal()
    }

    configurations.all {

        resolutionStrategy {

            eachDependency { DependencyResolveDetails details ->
                def group = details.requested.group
                def name = details.requested.name
                def fullName =  group + ":" + name
                print fullName
                if (dependencyMap.containsKey(fullName)) {
                    details.useVersion dependencyMap[fullName]
                }
            }
        }
    }

}
  1. mettez ce code hook dans vos scripts/copy_build_extra.js
#!/usr/bin/env node

const fs = require('fs')
fs.copyFileSync("./build-extras.gradle", "./platforms/android/build-extras.gradle");
  1. configurer le crochet dans config.xml à l'intérieur de la plate-forme Android
<platform name="android">
  <hook src="scripts/copy_build_extra.js" type="after_prepare" />
</platform>
  1. réinstaller la plate-forme pour activer le crochet
cordova platform rm android
cordova platform add android

a fonctionné pour moi, l'espoir fera pour vous aussi

HAUT 👏🏽

Merci @igorkurochka Cela fonctionne. J'avais du mal avec ça.

j'ai le problème
FirebasePlugin.java:365: error: cannot find symbol

Merci à @igorkurochka. Cela a fonctionné avec mon projet.

@igorkurochka ça a fonctionné ici aussi merci

Solution que j'ai tirée de ce commentaire #1081 (commentaire)

1. put `build-extras.gradle` in your project root
def dependencyMap = [
        "com.google.firebase:firebase-core": "16.0.8",
        "com.google.firebase:firebase-iid": "17.1.1",
        "com.google.firebase:firebase-messaging": "17.5.0",
        "com.google.firebase:firebase-config": "16.4.0",
        "com.google.firebase:firebase-perf": "16.2.4",
        "com.google.android.gms:play-services-tagmanager": "16.0.8",
        "com.google.firebase:firebase-auth": "16.2.0"
]

allprojects {
    repositories {
            google()
            jcenter()
            mavenLocal()
    }

    configurations.all {

        resolutionStrategy {

            eachDependency { DependencyResolveDetails details ->
                def group = details.requested.group
                def name = details.requested.name
                def fullName =  group + ":" + name
                print fullName
                if (dependencyMap.containsKey(fullName)) {
                    details.useVersion dependencyMap[fullName]
                }
            }
        }
    }

}
1. put this hook code in your scripts/copy_build_extra.js
#!/usr/bin/env node

const fs = require('fs')
fs.copyFileSync("./build-extras.gradle", "./platforms/android/build-extras.gradle");
1. configure hook in config.xml inside android platform
<platform name="android">
  <hook src="scripts/copy_build_extra.js" type="after_prepare" />
</platform>
1. reinstall platform to activate the hook
cordova platform rm android
cordova platform add android

a fonctionné pour moi, l'espoir fera pour vous aussi

A fonctionné comme un charme :). Solution fantastique.

Solution que j'ai tirée de ce commentaire #1081 (commentaire)

  1. mettez build-extras.gradle à la racine de votre projet
def dependencyMap = [
        "com.google.firebase:firebase-core": "16.0.8",
        "com.google.firebase:firebase-iid": "17.1.1",
        "com.google.firebase:firebase-messaging": "17.5.0",
        "com.google.firebase:firebase-config": "16.4.0",
        "com.google.firebase:firebase-perf": "16.2.4",
        "com.google.android.gms:play-services-tagmanager": "16.0.8",
        "com.google.firebase:firebase-auth": "16.2.0"
]

allprojects {
    repositories {
            google()
            jcenter()
            mavenLocal()
    }

    configurations.all {

        resolutionStrategy {

            eachDependency { DependencyResolveDetails details ->
                def group = details.requested.group
                def name = details.requested.name
                def fullName =  group + ":" + name
                print fullName
                if (dependencyMap.containsKey(fullName)) {
                    details.useVersion dependencyMap[fullName]
                }
            }
        }
    }

}
  1. mettez ce code hook dans vos scripts/copy_build_extra.js
#!/usr/bin/env node

const fs = require('fs')
fs.copyFileSync("./build-extras.gradle", "./platforms/android/build-extras.gradle");
  1. configurer le crochet dans config.xml à l'intérieur de la plate-forme Android
<platform name="android">
  <hook src="scripts/copy_build_extra.js" type="after_prepare" />
</platform>
  1. réinstaller la plate-forme pour activer le crochet
cordova platform rm android
cordova platform add android

a fonctionné pour moi, l'espoir fera pour vous aussi

Bonjour, après avoir travaillé un certain temps, j'ai résolu le problème avec la clé invalide : problème nul. Cependant, un nouveau message d'erreur s'affiche :

* What went wrong:
Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'.
The library com.google.android.gms:play-services-analytics-impl is being requested by various other libraries at [[16.0.8,16.0.8], [17.0.0,17.0.0]], but resolves to 17.0.0. Disable the plugin and check your dependencies tree using ./gradlew :app:dependencies.

Si je rétrograde 3 bibliothèques différentes (play-services-analytics-impl, play-services-analytics et play-services-tagmanager-v4-impl) vers la 16.0.8 afin de résoudre ce problème, j'obtiens le message " Crashlytics a trouvé un clé API non valide : null." de nouveau. Évidemment, je reçois le même message si je mets à niveau le " com.google.android. gms:play-services-tagmanager " vers le 17.0.0

De l'aide?

Voici une partie de mon config.xml
<platform name="android"> <allow-intent href="market:*" /> <hook src="hooks/android_build_extra.js" type="after_prepare" /> </platform> <platform name="ios"> <allow-intent href="itms:*" /> <allow-intent href="itms-apps:*" /> </platform> <platform name="android"> <preference name="android-minSdkVersion" value="19" /> <preference name="android-installLocation" value="auto" /> <preference name="disallowOverscroll" value="true" /> </platform> <platform name="ios"> </platform> <plugin name="cordova-plugin-device" spec="^2.0.2" /> <plugin name="cordova-plugin-globalization" spec="1.11.0" /> <plugin name="cordova-plugin-google-analytics" spec="1.8.6" /> <plugin name="cordova-plugin-inappbrowser" spec="3.0.0" /> <plugin name="cordova-plugin-splashscreen" spec="5.0.3" /> <plugin name="cordova-plugin-statusbar" spec="2.4.3" /> <plugin name="cordova-plugin-whitelist" spec="1.3.4" /> <plugin name="cordova-plugin-network-information" spec="2.0.2" /> <plugin name="com.lampa.startapp" spec="6.1.6" /> <plugin name="cordova-plugin-firebase" spec="2.0.5" /> <plugin name="cordova-android-play-services-gradle-release" spec="^4.0.0"> <variable name="PLAY_SERVICES_VERSION" value="11.0.+" /> </plugin> <plugin name="cordova-android-firebase-gradle-release" spec="^4.0.0"> <variable name="FIREBASE_VERSION" value="11.0.+" /> </plugin> <plugin name="cordova-android-support-gradle-release" spec="3.0.1"> <variable name="ANDROID_SUPPORT_VERSION" value="26.+" /> </plugin>

Une aide là-dessus ?

Merci,

Sergi

J'ai résolu ces problèmes en utilisant deux plugins

ionic cordova plugin add cordova-plugin-androidx
ionic cordova plugin add cordova-plugin-androidx-adapter

merci beaucoup mec !!

Cette page vous a été utile?
0 / 5 - 0 notes