Que veux dire ce message d'erreur? Je n'ai pas de packages dupliqués dans mon projet
Erreur: échec d'exécution pour la tâche ': SimpleReader: processDebugResources'.
Erreur: plusieurs bibliothèques portant le nom de package "com.google.Android.gms"
Vous pouvez désactiver temporairement cette erreur avec Android.enforceUniquePackageName = false Cependant, cela est temporaire et sera appliqué dans 1.0
Ma build.gradle
ressemble à ça:
buildscript {
repositories {
maven { url 'http://repo1.maven.org/maven2' }
mavenCentral()
}
dependencies {
classpath 'com.Android.tools.build:gradle:0.9.1'
}
}
apply plugin: 'Android'
Android {
buildToolsVersion '19.0.3'
defaultConfig {
minSdkVersion 14
targetSdkVersion 17
}
compileSdkVersion 17
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
buildTypes {
}
}
dependencies {
compile 'com.Android.support:support-v4:19.0.1'
compile 'com.google.Android.gms:play-services:4.2.42'
compile files('libs/gson-2.2.4.jar')
compile files('libs/httpmime-4.1.jar')
compile files('libs/httpclient-4.1.1.jar')
compile files('libs/jsoup-1.7.3.jar')
compile project(':libraries:actionbarsherlock')
compile project(':libraries:sherlocknavigationdrawer')
compile project(':libraries:googleplayservices')
compile project(':libraries:androidslidinguppanel')
compile files('libs/protocol-1.0.4.jar')
compile files('libs/sentry-0.1.4.jar')
compile files('libs/commons-lang-2.3.jar')
}
Dans mon cas, le problème était dû au fait que j'incluais:
compile 'com.google.Android.gms:play-services-wearable:+'
compile 'com.google.Android.gms:play-services:4.4.52'
à la fois les services de jeux portables et les habitués. J'ai commenté la partie portable, et cela fonctionne.
Je ne sais pas si j'en aurai besoin, mais il a été inclus par défaut par l'assistant de projet
aujourd'hui, j'ai rencontré le même problème. Je dois utiliser Google Analytics, donc j'importe la bibliothèque google analytics en suivant le tutoriel:
compile 'com.google.Android.gms:play-services-analytics:9.0.0'
puis compile le projet, gradle dis moi Error: more than one library with package name 'com.google.Android.gms'
Je peux être sûr que je n'importerai directement que com.google.Android.gms
une fois par google analytics
lib.
donc je navigue vers l'onglet Project
dans Android Studio pour voir de quelles bibliothèques dépend ce projet, puis j'ai trouvé play-services-6.5.87
afficher dans External Libraries
, comme la capture d'écran suivante:
alors maintenant je sais qu'il y a une autre lib dépend de play-services-6.5.87
, mais je ne sais pas de quelle bibliothèque il s'agit.
puis j'utilise une commande gradle dans la console pour voir les dépendances du projet:
$ ./gradlew -q app:dependencies
le résultat me dit que com.facebook.Android:audience-network-sdk:4.6.0
en dépendent.
alors comment nous résolvons ce problème, de deux façons:
audience-network-sdk
, il suffit de le supprimer. mon projet n'en a d'ailleurs pas besoin.si vous avez également besoin de audience-network-sdk
et google-analytics
, utilisation exclude group
grammaire, comme le code d'extrait suivant.
//facebook SDK
compile ('com.facebook.Android:audience-network-sdk:4.6.0')
{exclude group: 'com.google.Android.gms'}
// google analytics
compile 'com.google.Android.gms:play-services-analytics:9.0.0'
dans votre cas, le audience-network-sdk
peut être n'importe quelle autre bibliothèque qui dépend de la même bibliothèque que d'autres bibliothèques. voici juste une réflexion sur la façon de résoudre des problèmes similaires.
Essayez de supprimer compile project(':libraries:googleplayservices')
ou compile 'com.google.Android.gms:play-services:4.2.42'
. Je suis presque sûr qu'il s'agit de la même bibliothèque.
c'est un problème avec les versions. si vous avez plusieurs dépendances du même chemin de package, assurez-vous que les versions sont les mêmes
compile 'com.google.Android.gms:play-services-ads:8.4.0'
compile 'com.google.Android.gms:play-services-gcm:8.4.0'
J'avais confondu avec ce problème pendant une longue période. Mon problème est peu différent avec la question même si le journal des erreurs. Je veux que le buildtype de ma sous-bibliothèque soit le même que le buildtype de mon application. J'ai donc assigné le buildtype pour sublib comme le document me l'indique. [Guide de l'utilisateur du plug-in Gradle] [1]
C'est l'erreur que j'ai eue.
traitement de flavourCustomResource
Erreur: plusieurs bibliothèques avec com.xxx.libCommon
Ceci est ma structure . lib1 et lib2 sont indépendantes l'une de l'autre.
app
-> lib1 -> libCommon
-> lib2 -> libCommon
J'ai obtenu l'erreur uniquement lorsque j'ai créé mon type de build personnalisé, mais la version finale était correcte.
Plus de détails. certaines parties de mon build.gradle
application:
Android {
buildTypes {
release{}
custom{}
}
}
configurations {
flavorReleaseCompile
flavorCustomCompile
}
dependencies{
compile project(':lib1')
flavorReleaseCompile project(path: ':lib2', configuration: ':release')
flavorCustomCompile project(path: ':lib2', configuration: ':custom')
}
lib1:
Android {
publishNonDefault true
buildTypes {
release{}
custom{}
}
}
dependencies{
releaseCompile project(path: ':libCommon', configuration: ':release')
customCompile project(path: ':libCommon', configuration: ':custom')
}
lib2
dependencies {
compile project(':libCommon')
}
Solution: configurez la lib2 comme lib1. le problème sera résolu.
lib2:
Android {
publishNonDefault true
buildTypes {
release{}
custom{}
}
}
dependencies{
releaseCompile project(path: ':libCommon', configuration: ':release')
customCompile project(path: ':libCommon', configuration: ':custom')
}
Raison
Le problème est lié à Publication de la bibliothèque
La publication par défaut est la version. Si lib2 n'est pas configurée, elle utilisera la publication par défaut libCommon (version de publication) qui est différente de lib1 -> libCommon (version personnalisée) assignée par build.gradle de lib1. Cela vient de l'erreur .
Je souhaite que mon message aide quelqu'un à lutter contre le même problème ou lui donne un indice.
J'ai rencontré un problème similaire, je l'ai résolu en suivant les étapes suivantes:
plateforme ionique rm Android
plate-forme ionique ajouter Android
construction ionique Android