web-dev-qa-db-fra.com

Erreur: plusieurs bibliothèques portant le nom de package com.google.Android.gms.license.

Lorsque j'essaie d'exécuter la commande ionic cordova build Android erreur sur le titre ci-dessus. Ensuite, j'essaie de supprimer l'un des gms. Lorsque je reconstruis, l'élément supprimé apparaît à nouveau. Comment résoudre ce problème?.

Voici mes dépendances de mon build.gradle:

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.google.Android.gms:play-services-auth:+" // i remove this
    compile "com.google.Android.gms:play-services-identity:+"
    compile "com.facebook.Android:facebook-Android-sdk:4.+"
    // SUB-PROJECT DEPENDENCIES END
}
26

J'ai rencontré ce problème assez récemment et le problème pour moi était que, pour une raison quelconque, le fichier Android project.properties avait été généré avec différentes versions pour le com.google.Android.gms, en tant que tel). :

target=Android-26
Android.library.reference.1=CordovaLib
cordova.system.library.1=com.Android.support:support-v4:24.1.1+
cordova.system.library.2=com.google.Android.gms:play-services-auth:+
cordova.system.library.3=com.google.Android.gms:play-services-identity:+
cordova.system.library.4=com.google.Android.gms:play-services-location:11.+

Cela rend la bibliothèque.2 et la bibliothèque.3 requièrent une version alors que la bibliothèque.4 nécessite une version plus spécifique, ce qui provoque la référence de la bibliothèque en double lors de la compilation.

Bien que je ne pense pas que cela devrait être la solution finale, ajouter la bibliothèque spécifique a fonctionné pour moi. En tant que tel:

target=Android-26
Android.library.reference.1=CordovaLib
cordova.system.library.1=com.Android.support:support-v4:24.1.1+
cordova.system.library.2=com.google.Android.gms:play-services-auth:11.+
cordova.system.library.3=com.google.Android.gms:play-services-identity:11.+
cordova.system.library.4=com.google.Android.gms:play-services-location:11.+
16
rpbaltazar

dans build.gradle ajouter ceci

configurations.all {
   resolutionStrategy {
       force "com.google.Android.gms:play-services-ads:11.8.0"
       force "com.google.Android.gms:play-services-base:11.8.0"
       force "com.google.Android.gms:play-services-gcm:11.8.0"
       force "com.google.Android.gms:play-services-analytics:11.8.0"
       force "com.google.Android.gms:play-services-location:11.8.0"
       force "com.google.Android.gms:play-services-basement:11.8.0"
       force "com.google.Android.gms:play-services-tagmanager:11.8.0"
       force 'com.google.firebase:firebase-core:11.8.0'
       force 'com.google.firebase:firebase-crash:11.8.0'
       force 'com.google.firebase:firebase-auth:11.8.0'
       force 'com.google.firebase:firebase-common:11.8.0'
       force 'com.google.firebase:firebase-config:11.8.0'
       force 'com.google.firebase:firebase-messaging:11.8.0'
   }
}

si cela ne fonctionne pas, recherchez dans votre projet la chaîne '12.0.0.0 'et ajoutez-la dans la liste au-dessus de la bibliothèque manquante

13
jeremy castelli

Cela se produit à cause des services de lecture 12.0.0. Je suis allé de l'avant et j'ai rétrogradé les dépendances à 11.8.0 (dernière version de travail connue de mon projet). J'utilise réagit natif. J'avais 2 dépendances qui tiraient 12.0.0 des services de jeu de Google - com.google.Android:play-services...12.0.0 J'espère que cela vous aidera.

6
Vijay Karthik

Choses que je devais faire pour que la construction réussisse sur mon application Ionic3:

  • Ajouter un plugin cordova-Android-play-services-gradle-release
  • Supprimez et rajoutez la plate-forme Android
  • 11. + dans le fichier platform/Android/project.properties pour les bibliothèques (surtout si vous utilisez firebase)
  • 11. + pour les dépendances sur les plateformes/Android/cordova-plugin-firebase/-build.gradle
  • Les changements ci-dessus dans les plateformes/Android/build.gradle

C’est peut-être la pire façon de faire fonctionner les choses, mais cela m’a sauvé la vie. J'espère que ça aide quelqu'un!

6
Ravish S Kumar

Peut-être que cela concernait la nouvelle version des services Google Play 12.0.0 (publiée le 20 mars 2018) Je l'ai résolu en corrigeant les dépendances: Ajouter une configuration dans Android/build.gradle

allprojects {
repositories {
    ...
    configurations.all {
        resolutionStrategy {
            // Add force (11.0.0 is version you want to use)
             force 'com.google.firebase:firebase-core:11.0.0'
            force 'com.google.firebase:firebase-crash:11.0.0'
            force 'com.google.firebase:firebase-analytics:11.0.0'
            force 'com.google.firebase:firebase-messaging:11.0.0'
            force 'com.google.Android.gms:play-services-base:11.0.0'
            force 'com.google.Android.gms:play-services-maps:11.0.0'
            force 'com.google.Android.gms:play-services-wallet:11.0.0'
        }
    }
}
}

Ensemble de dépendances sont de votre Android/app/build.gradle

5
paynd

Dans mon cas

npm update
cordova platform remove Android
cordova platform add [email protected]

Et remplacer dans la plate-forme/Android/project.properties

cordova.system.library.1=com.Android.support:support-v4+

À

cordova.system.library.1=com.Android.support:support-v4:26+
3
Mario Buonomo

Pour référence, à partir de: https://developers.google.com/Android/guides/releases

API Google pour Android

20 mars 2018 - Version 12.0.0

Problèmes connus liés à la version 12.0.0

  • ...
  • Les dépendances POM de -license causent "plus d'une bibliothèque avec le nom de paquetage" com.google.Android.gms.license "" dans: Ionic Pro.
  • ...

Nous fournirons une version 12.0.1 mise à jour pour résoudre ces problèmes bientôt.


Ma solution de contournement

(basé sur le commentaire suivant de jeremy castellianswer et keldar )

J'utilise la solution de contournement suivante (et j'insiste sur le fait qu'il s'agit d'une solution de contournement).

Ajoutez ce qui suit au bas de build-extras.gradle, en créant le fichier si nécessaire.

configurations.all {
  resolutionStrategy {
    force 'com.google.firebase:firebase-core:11.8+',
      'com.google.firebase:firebase-messaging:11.8+',
      'com.google.firebase:firebase-crash:11.8+',
      'com.google.firebase:firebase-config:11.8+',
      'com.google.firebase:firebase-auth:11.8+',
      'com.google.Android.gms:play-services-tagmanager:11.8+',
      'com.google.Android.gms:play-services-location:11.8+'
  }
}

Il est important d'inclure toutes les références de la bibliothèque firebase et Android.gms. Si vous en manquez une, la création échouera. Grep vos fichiers de classement pour toutes les références. Dans mon cas, j'avais raté firebase-auth, qui était référencé dans le fichier .gradle du dossier du plugin firebase.

Ce que resolutionStrategyforce fait est de remplacer les choix de version faits par le projet/plugins et de forcer gradle à faire référence à une version spécifique.

Il n'est pas nécessaire de modifier project.properties ou tout autre fichier de gradé à l'aide de cette solution de contournement.

3
Austin France

[~ # ~] met à jour [~ # ~]

La cause de cette erreur a été identifiée comme un bogue dans version 12.0.0 de la bibliothèque de services Google Play :

Problèmes connus liés à la version 12.0.0 -license Les dépendances POM provoquent "plusieurs bibliothèques portant le nom de package" com.google.Android.gms.license "" questions dans Ionic Pro.

Le bogue a été corrigé dans version 12.0.1 de la bibliothèque de services Google Play :

Restaure des noms de package uniques pour les artefacts de licence liés au moment de l’exécution qui ont affecté les problèmes de compatibilité de certains systèmes de compilation (par exemple Ionic Pro)].

Par conséquent, spécifier la v12.0.1 ou une version ultérieure de Play Services Library via le plugin cordova-Android-play-services-gradle-release résout le problème, par exemple:

cordova plugin add cordova-Android-play-services-gradle-release  --variable PLAY_SERVICES_VERSION=12.+
2
DaveAlden

Lorsque vous exécutez la commande ionic cordova , vous pouvez modifier la version. J'ai la même erreur et j'ai résolu le problème en modifiant la version de mes modules de noeuds, mon plugin cordova, version désactivée Android studio.

Ma conf ci-dessous:

Android STUDIO: 3.0.0

pply plugin: 'com.Android.application'

buildscript {repositories {jcenter () maven {url " https://maven.google.com "}}

// Switch the Android Gradle plugin version requirement depending on the
// installed version of Gradle. This dependency is documented at
// http://tools.Android.com/tech-docs/new-build-system/version-compatibility
// and https://issues.Apache.org/jira/browse/CB-8143
dependencies {
    classpath 'com.Android.tools.build:gradle:2.2.3'
    classpath 'com.google.gms:google-services:3.1.1' // google-services plugin
}

}

// Autorise les plugins à déclarer les dépendances Maven via build-extras.gradle. allprojects {référentiels {jcenter () maven {url " https://maven.google.com "}}}

wrapper de tâche (type: Wrapper) {gradleVersion = '2.14.1'}

... ... ...
... ...

appliquer le plugin: 'com.google.gms.google-services'

Version de Gradle: 3.3 com.google.Android.gms: play-services: 11.4.2

Parfois, module de nœud et plug-in cordova se trompent, vous supprimez donc manuellement dans le dossier. N'oubliez pas de supprimer et d'ajouter le plugin Cordova lorsque vous le mettez à jour.

Essayez d'aller dans Android studio => fichiers => structure du projet => projet => ok normalement Android studio doit synchroniser votre diplôme

[~ # ~] ou [~ # ~]

Erreur: plusieurs bibliothèques portant le nom du package com.google.Android.gms.license

Dans mon cas, le problème était parce que je comprenais:

compile 'com.google.Android.gms:play-services-wearable:+'
compile 'com.google.Android.gms:play-services:4.4.52'

les services de jeu portables, et le régulier. J'ai commenté la partie portable, et ça marche. Pas sûr si j'en aurai besoin, mais cela a été inclus par défaut par l'assistant de projet

J'espère que je peux vous aider. Continue !

2
Android Geek

Ça marche pour moi.

node_modules/react-native-camera/Android/build.gradle:
dependencies {
    compile 'com.facebook.react:react-native:+'
    compile 'com.google.Android.gms:play-services-gcm:11.8.0' // update by me on 
    20180321
}
2
GuNa Skr

il suffit de changer de plate-forme/Android/project.properties pour

target=Android-26
Android.library.reference.1=CordovaLib
cordova.system.library.1=com.Android.support:support-v4:24.1.1+
cordova.system.library.2=com.google.Android.gms:play-services-auth:11.+
cordova.system.library.3=com.google.Android.gms:play-services-identity:11.+
cordova.system.library.4=com.google.Android.gms:play-services-location:11.+

cela a fonctionné pour moi

2
DucaBgd

Seulement cela a fonctionné pour moi dans build.gradle:

allprojects {
    repositories {
        ...
        configurations.all {
            resolutionStrategy.eachDependency { DependencyResolveDetails details ->
                def requested = details.requested
                if (requested.group == 'com.google.Android.gms') {
                    details.useVersion '11.8.0'
                }
                if (requested.group == 'com.google.firebase') {
                    details.useVersion '11.8.0'
                }
            }
        }
    }
}

https://github.com/evollu/react-native-fcm/issues/857#issuecomment-375243825

1
zwacky

1. Allez à project.properties (dans le dossier de votre plate-forme)

2. J'utilisais simplement Google Analytics dans mon "projet.properties" et je devais ajouter "11. +" à la fin de la version, ce qui a fonctionné pour moi. Je ne suis pas sûr que ce soit une solution à long terme, mais le problème a été résolu.

cordova.system.library.2=com.google.Android.gms:play-services-analytics:11.+
1
cdh429

Pour moi, il s’agissait d’ajouter un numéro de version aux services Google Play dans le fichier project.properies.

Donc, vous devez changer quelque chose comme:

Android.library.reference.1=CordovaLib
cordova.system.library.2=com.google.Android.gms:play-services-auth:
cordova.system.library.3=com.google.Android.gms:play-services-identity:

à:

Android.library.reference.1=CordovaLib
cordova.system.library.2=com.google.Android.gms:play-services-auth:11.
cordova.system.library.3=com.google.Android.gms:play-services-identity:11.
1
Paweł Mączka

Je faisais face à la même erreur dans mon ionic projet). Après quelques recherches, je suis sur le point de mettre à niveau la Android plate-forme requise pour la dernière Android Gradle Plugin afin de construire l’application.

La solution est très facile Il suffit de suivre l’étape mentionnée ci-dessous.

  1. Supprimer votre plateforme Anroid existante

plate-forme ionique cordova supprimer Android

  1. Ajouter la version minimale Android SDK Build Tools 26.0.2 à Android Le gestionnaire de SDK à utiliser est le dernier Android Gradle Plugin afin de construire l'application

  2. Ajouter la version minimale pour la plateforme Android

plate-forme ionique cordova ajouter Android@^6.4.0

1
Abdul Rashid