Je travaille sur une application Android multi-module et tout fonctionnait en mode débogage, mais maintenant, lorsque j'essaye de créer un package de version, je reçois cette erreur:
Type ***module1.BuildConfig is defined multiple times: ***/module1/build/intermediates/runtime_library_classes/release/classes.jar:***/module1/BuildConfig.class, ***/module2/build/intermediates/runtime_library_classes/release/classes.jar:***/module1/BuildConfig.class
C'est la première fois que je vois une erreur comme celle-ci et je ne sais pas comment résoudre ce problème et ce qui en est même la cause. Pour autant que je sache, les modules de bibliothèque ne devraient même pas générer de fichiers BuildConfig en mode version.
7 Réponses :
vérifier si les deux modules ont le même nom de package
J'ai ce problème dans mon cas: Tapez com.BV.LinearGradient.BuildConfig est défini plusieurs fois: /node_modules/react-native-linear-gradient/android/build/.tr ansforms / aaad2255142 356c3377f56df42cfb48 4 / classes / classes .de x, / android / app / build / intermediates / external_libs_dex / release / o ut / classes.dex je ne sais pas quelle est la solution
Build -> Rebuild Project pourrait aider
@Yacine je suis également confronté au même problème. avez-vous trouvé une solution?
j'ai dû changer le nom des modules dans node_modules
La reconstruction de l'application a résolu le problème pour moi.
Si la reconstruction ne résout pas le problème, vérifiez ceci: https://developer.android.com/studio/build/dependencies#duplicate_classes
J'utilise Android Studio 4.0.1 sur MacOS
Sur mon lecteur réseau dans le dossier de l' app
du projet, j'ai recherché BuildConfig
J'ai remarqué qu'un fichier BuildConfig 2.class
avait été généré.
J'ai supprimé le fichier BuildConfig 2.class
, reconstruit, relancé et tout allait bien.
MISE À JOUR
Je suis tombé sur une situation où une BuildConfig 3.class
, alors maintenant je recherche par Config
(Config + espace)
MISE À JOUR 2
J'ai ce problème en permanence à chaque fois que je cours. Maintenant, plutôt que de supprimer le fichier, j'utilise, élément de menu
"Build"->"Clean Project"
Ensuite, réexécutez l'application.
Pour moi, l'ajout de la ligne suivante à android/app/build.gradle
dans la section suivante android/app/build.gradle
aidé:
dependencies { ... implementation(project(':react-native-jitsi-meet')) { ... exclude group: 'com.facebook.react',module:'react-native-linear-gradient' // <<<---- this line was added } }
J'obtiens l'erreur après la mise à niveau de la dépendance au niveau du projet Firebase sur le projet Android
classpath ('com.google.firebase:perf-plugin:1.3.4') { exclude group: 'com.google.guava', module: 'guava-jdk5' } classpath 'com.google.firebase:firebase-crashlytics-gradle:2.4.1'
pour résoudre mon erreur, je suis mis à jour ce qui précède pour
classpath 'com.google.firebase:perf-plugin:1.3.4' classpath 'com.google.firebase:firebase-crashlytics-gradle:2.4.1'
et allez dans le dossier du projet et supprimez build / intermédiaires
A travaillé pour moi
buildTypes { debug { buildConfigField "String", "BaseApi", "\"https://{apiUrlDebug}\"" } release { signingConfig signingConfigs.release buildConfigField "String", "BaseApi", "\"https://{apiUrlRelease}\"" zipAlignEnabled true minifyEnabled true shrinkResources true pseudoLocalesEnabled true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' lintOptions { checkReleaseBuilds false abortOnError false } } }
Cliquez sur Build-> Clean Project
vérifier si les deux modules ont le même nom de package
Veuillez publier votre fichier Gradle
Et bien maintenant je me sens stupide. J'avais les mêmes packages définis dans les deux manifestes.
Pas de soucis. Cela arrive: D