49 votes

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

J'essaie de générer une version, mais je ne peux pas en raison de problèmes mutidex, mon projet a tous les multidex activés et des dépendances ajoutées

L'erreur que je reçois est:

 Execution failed for task ':app:transformClassesWithMultidexlistForRelease

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

et aussi:

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

78voto

Sagar Points 12352

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

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

16voto

Seymur Mammadli Points 422

Dans mon cas, cela se produisait lorsque j'essayais d'exécuter un projet plus ancien sur un nouveau studio Android installé. Le problème était résolu en exécutant Build->Clean Project

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 avaient un projet `androidTestImplementation (": testutils ")

Solution

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

5voto

Erik Medina Points 145

J'ai résolu cette erreur en activant multiDexEnabled dans le build.gradle du module de mon application:

 defaultConfig { 
    ...
    ...
    ...

    multiDexEnabled true
}
 

5voto

Rishabh Shukla Points 41

Just goto tools> Flutter> Flutter clean dans Android Studio. Cela résoudra le problème. (Si vous travaillez avec le flottement)

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