27
votes

Le type BuildConfig est défini plusieurs fois

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.


4 commentaires

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


7 Réponses :


43
votes

vérifier si les deux modules ont le même nom de package


4 commentaires

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



2
votes

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


0 commentaires

3
votes

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.


0 commentaires

1
votes

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


0 commentaires

0
votes

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

  1. app / build / intermediates supprimer ce dossier
  2. invalider le cache et redémarrer
  3. après. redémarrer - reconstruire et exécuter

A travaillé pour moi


0 commentaires

0
votes
 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
        }
    }
}

0 commentaires

-1
votes

Cliquez sur Build-> Clean Project


0 commentaires