69 votes

Ajoutez "tools:replace="Android:value"" à l'élément <meta-data> dans AndroidManifest

Je suis en train de suivre un tutoriel dans le développement Android de HeadFirst et j'ai rencontré des problèmes après avoir ajouté:     private ActionBarDrawerToggle drawerToggle;

Le contrôle a été déprécié alors j'ai suivi les instructions sur Stack pour résoudre ce problème en ajoutant com.android.support:appcompat-v7:26.0.0-alpha1 aux Dépendances des modules de l'application

Mais maintenant je reçois les erreurs de construction suivantes:

Erreur: L'exécution a échoué pour la tâche ':app: processDebugManifest'.

  

La fusion du manifeste a échoué: L'attribut meta-data#android.support.VERSION@value value=(25.3.1) de [com.android.support:recyclerview-v7:25.3.1] AndroidManifest.xml: 24:9-31      est également présent dans [com.android.support:appcompat-v7:26.0.0-alpha1] AndroidManifest.xml: 27:9-38 value=(26.0.0-alpha1).      Suggestion : ajoutez 'tools:replace="android:value"' à l'élément à AndroidManifest.xml: 22:5-24:34 pour remplacer.

Voici le code:

0 votes

J'ai ajouté ce qui suit à mon Manifest : xmlns:tools="schemas.android.com/tools"> tools:replace="android:value", puis j'ai reçu l'erreur suivante : Erreur : Échec de l'exécution de la tâche ':app:processDebugManifest'. > Fusion du manifeste échouée avec plusieurs erreurs, voir les journaux

0 votes

Ajoutez la version 25.3.1 pour chaque bibliothèque de support comme : recyclerview-v7, support-v4, design: dans le build.gradle comme suit : ```html compile 'com.android.support:appcompat-v7:25.3.1' compile 'com.android.support:recyclerview-v7:25.3.1' compile 'com.android.support:design:25.3.1' ```

186voto

Sagar Giri Points 1915

Le problème est que toutes les bibliothèques de support avec la même version et la même version principale doivent correspondre à la version de compilation SDK.

Essayez donc de forcer une version spécifique de la bibliothèque de support. Placez ceci à la fin du module de votre application dans build.gradle.

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '25.3.0'
            }
        }
    }
}

2 votes

Cela a fonctionné pour moi. Je ne suis pas sûr pourquoi cela n'est pas accepté comme réponse valide.

0 votes

Qu'est-ce que signifient la version majeure et la même version ? +1 pour une solution fonctionnelle.

7 votes

@sagar giri, Je reçois une erreur ne peut pas résoudre le symbole 'DependencyResolveDetails' pour cela. Pouvez-vous me dire la solution

38voto

LedMachine Points 2565

Ajoutez d'abord cette ligne à votre balise manifeste si vous ne l'avez pas encore :

xmlns:tools="http://schemas.android.com/tools"

Exemple:

Ensuite, ajoutez cette balise meta à l'intérieur de votre application pour remplacer la version de vos outils de build, dans ce cas par exemple j'ai choisi la version 25.3.1

   ...
   ..

1 votes

Exactement ce qui est nécessaire

6voto

DILSHAD AHMAD Points 117
 <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:largeHeap="true"
            android:supportsRtl="true"
            android:theme="@style/AppTheme"

            >
            <meta-data
                tools:replace="android:value"
                android:name="android.support.VERSION"
                android:value="26.0.0" />
        </application>

5voto

Darush Points 3150

Modifié toutes les versions de la bibliothèque de support en 25.3.1 et ça a parfaitement fonctionné :

compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'

Vous devez également changer les paramètres suivants en 25 :

compileSdkVersion 25
targetSdkVersion 25

3voto

Atul Points 71

Ouvrez Android Studio -> Ouvrir le fichier Manifeste

Ajoutez . N'oubliez pas d'inclure xmlns:tools="http://schemas.android.com/tools" aussi, avant la balise

remplacer

compile 'com.android.support:recyclerview-v7:+' 

par

compile 'com.android.support:recyclerview-v7:25.3.1'

et ajoutez

compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'

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