63 votes

Type de programme déjà présent : BuildConfig

J'essaie de générer un build de version mais je n'y arrive pas à cause de problèmes de mutidex. Mon projet a tous les multidex activés et les dépendances ajoutées.

L'erreur que je reçois est la suivante :

Execution failed for task ':app:transformClassesWithMultidexlistForRelease

Caused by: com.android.build.api.transform.TransformException: Error while generating the main dex list.

et aslo :

Caused by: com.android.tools.r8.errors.CompilationError: Program type already present: com.myapp.BuildConfig

1 votes

Avez-vous un module de bibliothèque qui a le même nom de paquet que le module d'application ? Pouvez-vous mettre à jour votre question avec le fichier build.gradle ?

0 votes

Placez le contenu des deux fichiers Gradle

0 votes

@sagar oui j'ai une bibliothèque avec le même nom de paquet, je pense que c'est ce qui génère ce problème, quelle est la solution pour cela ?

91voto

Sagar Points 12352

Vous obtenez cette erreur parce que vous avez un module de bibliothèque qui a le même nom de paquet que le module d'application.

La solution serait de changer le nom du package de votre module de bibliothèque. Vous pouvez suivre la réponse acceptée dans ce SO qui décrit comment changer le nom du paquet dans Android studio.

3 votes

Si cela n'a pas fonctionné pour vous, essayez de faire un ./gradle clean sur le projet Android après avoir renommé la bibliothèque.

18voto

Seymur Mammadli Points 422

Dans mon cas, cela s'est produit lorsque j'ai essayé d'exécuter un ancien projet sur Android Studio nouvellement installé. Le problème a été résolu en exécutant Build->Clean Project

Note : Comme le disent les amis dans les commentaires, c'est une solution pour un projet de flutter.

0 votes

Cela a fonctionné pour moi lorsque j'ai construit une application flutter et que je l'ai convertie en androidx.

0 votes

J'ai eu ce problème en me débattant avec un projet Flutter. Je l'ai nettoyé alors que la partie Android était ouverte.

1 votes

En cas de flutter, voici la solution

12voto

Erik Medina Points 145

J'ai résolu cette erreur en activant la fonction multiDexEnabled dans l'interface utilisateur. build.gradle du module de mon application :

defaultConfig { 
    ...
    ...
    ...

    multiDexEnabled true
}

0 votes

Activation ou désactivation ?

0 votes

@red-devil désolé, ma faute. Il s'agit de permettre, donc multiDexEnabled true (je vais corriger la faute de frappe).

7voto

hb0 Points 426

Erreur : Type de programme déjà présent : somemodule/BuildConfig

Cause

Dans mon cas, j'avais une dépendance circulaire (cachée) qu'Android Studio n'a pas trouvée :

  1. testutils/build.gradle utilise implementation project(':somemodule')

  2. somemodule/build.gradle avait `androidTestImplementation project(":testutils")

Solution

  • Dans mon cas, la deuxième dépendance n'était pas nécessaire, je l'ai donc supprimée.

5voto

Rishabh Shukla Points 41

Allez-y. outils>Flutter>Flutter nettoyer dans Android studio. Cela résoudra le problème. (Si vous travaillez avec flutter)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X