235 votes

Manifeste de la fusion a échoué : uses-sdk:minSdkVersion 14

Depuis le téléchargement de la dernière version du SDK et l'installation d'Android Studio, mon projet ne parvient pas à construire. Je reçois le message suivant:

Error:Gradle: Execution failed for task ':SampleProject:processProdDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 14 cannot be smaller than version L declared in library com.android.support:support-v4:21.0.0-rc1

312voto

loeschg Points 6775

Note: Ceci a été mis à jour pour refléter la version de l'API 21, Lollipop. Assurez-vous de télécharger le dernier SDK.

Dans l'un de mes modules, j'ai eu la suivante dans la construction.gradle:

dependencies {
    compile 'com.android.support:support-v4:+'
}

La modification de cette à

dependencies {
    // do not use dynamic updating.
    compile 'com.android.support:support-v4:21.0.0' 
}

correction du problème.

Assurez-vous que vous ne faites pas une inclusion de com.android.support:support-v4:+ ou tout autre support bibliothèques (v7, v13, appcompat, etc), n'importe où dans votre projet.

Je suppose que le problème est - v4:+ ramasse la release candidate (21.0.0-rc1) plus tard L de presse qui nécessite évidemment la L SDK.

Edit:

Si vous avez besoin d'utiliser les nouvelles vues (CardView, RecyclerView, et la Palette), la suivante devrait fonctionner:

compile "com.android.support:cardview-v7:21.0.0"
compile "com.android.support:recyclerview-v7:21.0.0"
compile "com.android.support:palette-v7:21.0.0"

(Crédit EddieRingle /androiddev - http://www.reddit.com/r/androiddev/comments/297xli/howto_use_the_v21_support_libs_on_older_versions/)

Une Autre Édition

Assurez-vous de voir @murtuza la réponse ci-dessous concernant appcompat-v7 et upvote si ça aide!

69voto

murtuza Points 763

Aussi, dans le cas où vous êtes l'importation de la appcompat-v7 bibliothèque assurez-vous de marquer un numéro de version à la fin de celui-ci comme suit:

compile 'com.android.support:support-v4:19.+'
compile 'com.android.support:appcompat-v7:19.+'

Après que le changement du support-la version v4, j'ai encore reçu le message d'erreur:

Manifeste de la fusion a échoué : uses-sdk:minSdkVersion 15 ne peut pas être plus petit que la version de L a déclaré dans la bibliothèque de com.android.soutien:le soutien-v4:21.0.0-rc1

C'était un peu confus, car il ressemble v4 est toujours le problème, mais, en fait, la restriction de l'appcompat v7 version corrige le problème.

56voto

gauravsapiens Points 2913

Solution 1:

Changement uses-sdk <uses-sdk tools:node="replace" /> et ajouter xmlns:tools="http://schemas.android.com/tools" en AndroidManifest.xml

 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.demo.android"
    android:versionCode="16"
    android:versionName="3.3.1">
    .
    .
    <uses-sdk tools:node="replace" />
    .
    .
</manifest>

Assurez-vous d'utiliser gradle 0,11 et ci-dessus pour utiliser Manifeste fusion.

Solution 2:

  • Variation compile 'com.android.support:support-v4:+' de compile 'com.android.support:support-v4:20.+' en build.gradle. Cela permettra d'éviter gradle de l'aide v4:21.0.0 que nécessite la version L.

  • Cependant, si n'importe lequel de vos dépendances externes utilise le même. Vous aurez probablement à attendre pour eux de les mettre à jour.

Solution 3:

  • Supprimer/Commentaire <version>21.0.0-rc1</version> dans votre fichier <android-sdk>/extras/android/m2repository/com/android/support-v4/maven-metadata.xml

  • Répétez la même pour le soutien-v7

11voto

koesclem Points 131

Le problème se pose encore avec dépendances transitives. Gradle offre un moyen de forcer l'utilisation d'une version spécifique d'une dépendance.

Par exemple, vous pouvez ajouter quelque chose comme:

configurations.all {
    resolutionStrategy {
        force 'com.android.support:support-v4:20.+'
        force 'com.android.support:appcompat-v7:20.+'
    }
}

pour votre construction.gradle.

Si vous voulez en savoir plus sur gradle des stratégies de résolution de vous référer à ce guide http://www.gradle.org/docs/current/dsl/org.gradle.api.artifacts.ResolutionStrategy.html

J'ai trouvé ce lors de la lecture de ce problème qui fera le lien ici

8voto

Leonardo Cardoso Points 535

Ajouter aux réponses correctes ci-dessus, le problème persiste, peut être due à la bibliothèque de nidification. Dans ce cas, comme dans l'exemple ci-dessous:

compile 'com.android.support:support-v4:20.+'
compile ('com.github.chrisbanes.actionbarpulltorefresh:extra-abs:+') { // example
    exclude group: 'com.android.support', module:'support-v4'
    exclude group: 'com.android.support', module:'appcompat-v7'
}

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