31

Je suis un tutoriel dans le développement de HeadFirst Android et j'ai rencontré des problèmes après avoir ajouté: private ActionBarDrawerToggle drawerToggle;add 'tools: replace = "Android: valeur"' à <meta-data> élément à AndroidManifest

Le contrôle a été désapprouvée alors j'ai suivi des instructions sur la pile pour résoudre ce problème en ajoutant com.android.support:appcompat-v7:26.0.0-alpha1 aux modules d'applications Dependencies

Mais maintenant, je suis en train de les erreurs de génération suivantes:

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

Manifest merger failed : Attribute meta-data#[email protected] value=(25.3.1) from [com.android.support:recyclerview-v7:25.3.1] AndroidManifest.xml:24:9-31 is also present at [com.android.support:appcompat-v7:26.0.0-alpha1] AndroidManifest.xml:27:9-38 value=(26.0.0-alpha1). Suggestion: add 'tools:replace="android:value"' to element at AndroidManifest.xml:22:5-24:34 to override.

Voici le code:

+0

j'ajouté ce qui suit à mon Manifest: xmlns: Outils = "http://schemas.android.com/tools"> outils: replace = "android: value" puis l'erreur suivante: Erreur: L'exécution a échoué pour la tâche ': app: processDebugManifest'. > Manifest fusionner échoué avec plusieurs erreurs, voir les journaux –

+0

ajouter la version 25.3.1 pour chaque bibliothèque de support comme: recyclerview-v7, support-v4, conception: dans build.gradle comme: - compiler '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 ' –

Répondre

132

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

Essayez donc de forcer une version de bibliothèque de support spécifique. Mettez ceci à la fin de votre module d'application en 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' 
      } 
     } 
    } 
} 
+0

Cela a fonctionné pour moi. Je ne sais pas pourquoi il n'est pas accepté comme réponse valide. –

+0

a travaillé pour moi aussi. – lakshay

+0

Que signifie la version majeure et la même version? +1 pour la solution de travail. – Talha

0

la réponse de @sagar giri est un travail temporaire. ce que j'ai fait pour résoudre ceci est expliqué à la fin.

Si vous avez la dernière bibliothèque de support installée dans le dernier studio android et si vous avez une ancienne version de bibliothèque de support dans le module d'application de build gradle, alors android studio échoue en raison de la non-concordance de version. Par conséquent, mettez à jour votre version de la bibliothèque de support vers la dernière version et corrigez les dernières modifications de la bibliothèque de support, telles que le changement du nom de l'icône, et reconstruisez-la.

espère que cela aide ...

1

Ouvrir Android Studio -> Ouvrir un fichier Manifest

Ajouter <uses-sdk tools:overrideLibrary="android.support.v17.leanback"/>. Ne pas oublier d'inclure xmlns:tools="http://schemas.android.com/tools" aussi, avant la balise <application>

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' 
3

Changé toutes les versions de la bibliothèque de soutien à 25,3. 1 et a travaillé comme un charme:

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

Vous devez également modifier les paramètres suivants à 25:

compileSdkVersion 25 
targetSdkVersion 25