web-dev-qa-db-fra.com

Manifeste Merger échoue pour appComponentFactory

L'utilisation de ce que l'on appelle Material Design 2.0 de Google nécessite l'ajout de 

implementation 'com.google.Android.material:material:1.0.0-rc01'

dans l'application Gradle qui comprend également 

implementation 'com.Android.support:appcompat-v7:28.0.0-rc02'    

qui montre des conflits

Voici ce que dit le journal

Manifest merger failed : Attribute application@appComponentFactory value=(Android.support.v4.app.CoreComponentFactory) from [com.Android.support:support-compat:28.0.0-rc02] AndroidManifest.xml:22:18-91   

is also present at [androidx.core:core:1.0.0-rc01] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).     Suggestion: add 'tools:replace="Android:appComponentFactory"' to <application> element at AndroidManifest.xml:5:5-19:19 to override.

Même après avoir ajouté cela au manifeste, cela montre La fusion du manifeste a échoué avec une erreur multiple

10
d02d33pak

Remplacez toutes les dépendances Android par celles d’androidx dans le fichier build.gradle.

Par exemple:

implementation 'androidx.appcompat:appcompat:1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha2'
implementation 'androidx.annotation:annotation:1.0.0'
androidTestImplementation 'androidx.test:runner:1.1.0-alpha3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha4'
5
Arnav Rao

Suggestion: ajoutez 'tools:replace="Android:appComponentFactory"' à élément à AndroidManifest.xml: 5: 5-19: 19 à remplacer.

Si vous avez ajouté le tools:replace="Android:appComponentFactory" et avez toujours des problèmes en le corrigeant, créez un nouveau projet, copiez-collez les codes et les mêmes dépendances. Après cela, cela devrait être corrigé j'espère.


Si cela ne résout pas le problème, essayez d'ajouter ces deux éléments:

tools:replace="Android:appComponentFactory"
Android:appComponentFactory="whateverString"

Dans la balise AndroidManifest.xml> <application bien sûr.

3
ʍѳђઽ૯ท

J'avais un problème similaire. Deux lignes dans le fichier gradle.properties:

Android.useAndroidX=true
Android.enableJetifier=true

Lien à suivre: https://developer.Android.com/topic/libraries/support-library/androidx-overview#new-project

3
Nabila Tajrin

Pour résoudre ce problème, vous devez ajouter l'espace de noms tools et appliquer le fichier attributs suggérés à l'élément d'application recommandé par l'EDI.

<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android" xmlns:tools="http://schemas.Android.com/tools"
    package="your.package.uri">

 <application
        Android:allowBackup="true"
        Android:icon="@mipmap/ic_launcher"
        Android:label="@string/app_name"
        Android:roundIcon="@mipmap/ic_launcher_round"
        Android:supportsRtl="true"
        Android:theme="@style/AppTheme"
        tools:replace="Android:appComponentFactory"
        Android:appComponentFactory="androidx">

La source

2
Tommie C.

Remplacer dans les dépendances De:

implementation 'com.google.Android.material:material:1.0.0-rc01'

à:

implementation 'com.Android.support:design:28.0.0'

Cette erreur est courante de nos jours:

Lorsque nous obtenons ce type d'erreur: Lorsque la bibliothèque est mise à jour et fournit une utilisation d'AndroidX mais que nous utilisons l'ancienne.

Vous pouvez suivre les étapes pour résoudre ceci:

  • Migrez votre projet vers AndroidX: 

Avec Android Studio 3.2 et versions ultérieures, vous pouvez migrer rapidement un fichier projet existant pour utiliser AndroidX en sélectionnant Refactor> Migrer vers AndroidX dans la barre de menus.

Remarque: pour migrer un projet existant qui n'utilise aucun tiers bibliothèques avec des dépendances nécessitant une conversion, vous pouvez définir le Android.useAndroidX drapeau à true et le drapeau Android.enableJetifier à faux.

CETTE ETAPE FAIT TOUT AUTOMATIQUEMENT QUE TOUTES LES REPONSES DIT DIRE DE FAIRE MANUELLEMENT

  • Vous pouvez consulter la vue d'ensemble de AndroidXici .
  • Plus de détails pour migration

Même si vous rencontrez une autre erreur, telle que la compilation au moment de l'exécution a échoué, alors:

  • Invalider le cache et redémarrer

OR

  • Nettoyez votre projet

J'espère que cela aidera à tous ... Merci.

1
Pratik Butani