La fusion manifeste a échoué: uses-sdk: minSdkVersion 14

depuis le téléchargement du dernier SDK et l'installation D'Android Studio, mon projet échoue à 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
222
demandé sur loeschg 2014-06-26 23:00:51

24 réponses

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

dans l'un de mes modules j'ai eu le suivant dans la construction.gradle:

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

Modification

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

fixe l'émission.

assurez-vous que vous ne faites pas une inclusion générale de com.android.support:support-v4:+ ou d'autres bibliothèques de soutien (v7, v13, appcompat, etc), n'importe où dans votre projet.

je suppose que le problème est v4:+ prend le candidat de version (21.0.0-rc1) dernière version L qui nécessite évidemment le SDK.

Edit:

si vous devez utiliser les nouvelles vues (CardView, RecyclerView, et Palette), ce qui suit 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 on / 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 la réponse de @murtuza ci-dessous concernant appcompat-v7 et upvote si cela aide!

311
répondu loeschg 2014-10-17 18:46:03

aussi, dans le cas où vous importez la bibliothèque appcompat-v7, assurez-vous d'étiqueter un numéro de version à la fin de celle-ci comme suit:

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

après avoir seulement changé le support de la version-v4, j'ai quand même reçu l'erreur:

la fusion manifeste a échoué: uses-sdk: minSdkVersion 15 ne peut pas être plus petite que la version l déclarée dans library com.Android.soutien:le soutien-v4:21.0.0-rc1

C'était un peu déroutant parce qu'il semble que v4 est toujours le problème, mais, en fait, la restriction de la version v7 appcompat a corrigé le problème.

69
répondu murtuza 2014-06-26 23:15:50

Solution 1:

Modifier les utilisations-sdk à <uses-sdk tools:node="replace" /> et ajouter xmlns:tools="http://schemas.android.com/tools" in 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:

  • Changement compile 'com.android.support:support-v4:+' à compile 'com.android.support:support-v4:20.+' dans build.gradle . Cela empêchera gradle d'utiliser v4:21.0.0 qui nécessite la version L.

  • Cependant, si n'importe lequel de vos dépendances externes utilise le même. Vous devrez probablement attendre qu'ils mettent à jour la même chose.

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

  • idem pour le support-v7

54
répondu Gaurav Arora 2014-07-03 12:52:18
<uses-sdk tools:node="replace" />

ne fonctionne plus.

Modifier les utilisations-sdk à

<uses-sdk tools:overrideLibrary="com.packagename.of.libary.with.conflict" />

et ajouter xmlns: tools="http://schemas.android.com/tools" dans AndroidManifest.xml

20
répondu userM1433372 2014-11-17 07:12:18

le problème se pose encore avec les dépendances transitoires. 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.+'
    }
}

à votre taille.gradle.

si vous voulez en savoir plus sur les stratégies de résolution de grades, consultez le guide http://www.gradle.org/docs/current/dsl/org.gradle.api.artifacts.ResolutionStrategy.html

j'ai trouvé ceci en lisant le numéro correspondant que je lierai ici

11
répondu koesclem 2014-07-02 13:37:19

Dans la construction.gradle file, c'était par défaut compile 'com.Android.soutien:le soutien-v4:+' ainsi, lorsque vous générez le gradle projecit envisageraient, com.Android.support: support-v4: 21.0.0-rc1 en raison de la récente version de prévisualisation du développeur L.

apporter des changements à la ligne suivante et il résoudra le problème. Changement

compile 'com.android.support:support-v4:+' 

à

compile 'com.android.support:support-v4:20.+'

de la même manière en utilisant v7-appcompat bibliothèque de soutien, faire le changement de

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

à

compile 'com.android.support:appcompat-v7:20.+'.
8
répondu Bhargav Jhaveri 2014-07-05 21:17:15

ajoutant aux bonnes réponses ci-dessus, le problème pourrait toujours se produire en raison de l'imbrication de bibliothèque. Dans ce cas, essayez comme 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'
}
8
répondu Leonardo Cardoso 2014-07-10 18:49:02

j'ai aussi eu le même problème et le changement suivant m'a aidé:

de:

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

à:

dependencies {
 compile 'com.android.support:support-v4:20.0.0'
}
6
répondu min2bro 2014-08-24 12:05:44

pour les personnes qui construisent des applications hybrides en utilisant cordova CLI, cette commande aidera:

cordova build android -- --minSdkVersion=15

oui, il utilise double double tirets comme vous l'avez vu.

6
répondu ProllyGeek 2016-04-28 01:47:54

pour les personnes confrontées à ce problème dans le Android Studio bêta, la réponse acceptée n'a pas résolu mon problème. Importer un projet téléchargé à partir de GitHub, j'ai eu le suivant dans ma construction.fichier grad de l'application donnant une erreur en question:

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

mais dans mon dossier de bibliothèque externe j'ai ce dossier:

support-v4-21.0.0-rc1 //note the 21

j'ai résolu le problème en changeant la dépendance:

dependencies {
compile 'com.android.support:support-v4:20.+' //20 used less than available strange but works
}

Note: vous pourriez également avoir besoin de télécharger un niveau d'api inférieur à celui actuellement disponible dans Android Studio pour certaines bibliothèques et projets pour que cela fonctionne correctement.

6
répondu Illegal Argument 2017-08-01 17:47:48

j'ai résolu le problème en éditant la ligne ci-dessous dans construire.grab et ça marche! :-)

ajout de la version 20.+ '

de

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

à

dependencies {
    compile 'com.android.support:appcompat-v7:20.+'
}
5
répondu Cristiana Chavez 2014-07-03 11:27:45
compile('com.android.support:support-v4:19.1.0'){
    force = true
}

M'a aidé, tiré de ici

5
répondu Lina Shyshova 2017-05-23 12:34:53

vous devez configurer tous les supports et les bibliothèques appcompat avec la version 19.+

si la recommandation de quitter la bibliothèque de soutien avec le 19.+ la version ne fonctionne pas vous pouvez essayer le conseil suivant dans votre fichier AndroidManifest.

ajouter le code suivant:

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

Et puis, au niveau de l'application (pas à l'intérieur de l'application!)

<uses-sdk tools:node="replace" />
4
répondu Aracem 2014-07-01 13:52:34

je fais toutes les solutions ici sans résultat, donc je regarde dans un autre endroit et j'ai trouvé un moyen de tromper L'IDE, donc vous devez mettre une ligne dans le Mainfest pour faire la Grade utiliser un autre, celui que vous mettez sur Construire.gradle la ligne est:

<uses-sdk tools:node="replace" />

juste ça, et ça marche.

j'espère que ça aidera.

4
répondu David Moreno Cantero 2014-07-22 17:16:08

vous devez supprimer de build.Grad compile 'com.android.support:support-v13:+'

3
répondu Ihor Kostenko 2014-06-27 12:55:09

voici le nouveau bug déposé pour ce btw https://code.google.com/p/android/issues/detail?id=72430

en supposant que vous utilisez le référentiel de soutien, la solution est de commenter ou de supprimer la ligne

21.0.0-rc1 dans le local Maven pensions de fichier de liste à /extras/android/m2repository/com/android/soutien-v4/maven-métadonnées.xml

3
répondu LemonGentry 2014-06-28 06:58:37

N'oubliez pas, vous devriez éditer build.Grad dans le sous-dossier' app ' de votre projet, pas dans le dossier du projet. J'ai perdu une journée de travail en essayant de résoudre un problème avec la version "L".

0
répondu CoolMind 2014-07-01 08:01:19

essayez de supprimer le build dossier(s) dans votre projet et resyncez votre projet gradle pour le reconstruire. Aussi, comme d'autres ont dit dans ce post - au lieu de faire quelque chose comme ceci:

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

faites ceci:

compile 'com.android.support:support-v4:19.1.0'
0
répondu Igor Ganapolsky 2014-07-07 15:52:16

Merci @Murtuza. Votre réponse m'a aidé à résoudre mon problème, mais dans mon cas,

compile 'com.android.support:support-v13:19.+ aussi, avec

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

de l' compile 'com.android.support:support-v4:+' compile 'com.android.support:support-v7:+' compile 'com.android.support:support-v13:+' Espérons que cela pourrait aider quelqu'un

0
répondu Deepthi 2014-08-21 18:45:32

j'ai quelques projets où je préfère cibler L. MR1(SDKv22) et certains projets où je préfère KK(SDKv19). Ton résultat est peut-être différent, mais ça a marché pour moi.

// Targeting L.MR1 (Android 5.1), SDK 22
android {
    compileSdkVersion 22
    buildToolsVersion "22"

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 22
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    // google support libraries (22)
    compile 'com.android.support:support-v4:22.0.0'
    compile 'com.android.support:appcompat-v7:22.0.0'
    compile 'com.android.support:cardview-v7:21.0.3'
    compile 'com.android.support:recyclerview-v7:21.0.3'
}



// Targeting KK (Android 4.4.x), SDK 19
android {
    compileSdkVersion 19
    buildToolsVersion "19.1"

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 19
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    // google libraries (19)
    compile 'com.android.support:support-v4:19.1+'
    compile 'com.android.support:appcompat-v7:19.1+'
    compile 'com.android.support:cardview-v7:+'
    compile 'com.android.support:recyclerview-v7:+'
}
0
répondu AG1 2015-04-01 07:17:34

dans Android Studio 1.1.0: fichier-Structure du projet-Tab Flavors-sélectionnez la Version Min SDK qui est plus élevé que dans le Manifeste

0
répondu ea_ 2015-04-06 14:45:58

j'ai la deuxième solution:

  1. décompresser https://dl.dropboxusercontent.com/u/16403954/android-21.zip à sdk\platforms\
  2. changement de construire.Grad like

    compileSdkVersion 21
    buildToolsVersion "20.0.0"
    
    defaultConfig {
        applicationId "package.name"
        minSdkVersion 10
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    
  3. ajouter

    <uses-sdk tools:node="replace" /> 
    

    dans le manifeste avec xmlns:tools="schemas.android.com/tools" ;

  4. passer à sdk\extras\android\m2repository\com\android\support\support-v4.0.0-rc1\

décompresser soutien-v4-21.0.0-rc1.aar et modifier AndroidManifest.xml comme

de

<uses-sdk
        android:minSdkVersion="L"
        android:targetSdkVersion="L" />

à

<uses-sdk
        android:minSdkVersion="4"
        android:targetSdkVersion="21" />

P.S. vous pouvez faire cela avec toutes les bibliothèques de soutien qui ont besoin.

0
répondu Vova K. 2015-04-20 08:08:15

la seule chose qui a fonctionné pour moi est ceci:

dans le projet.propriétés, j'ai changé:

cordova.système.bibliothèque.1 = com.Android.soutien:le soutien-v4:+ de cordoue.système.bibliothèque.1 = com.Android.soutien:le soutien-v4:20.+

0
répondu abelabbesnabi 2015-09-18 18:52:40

pour moi le problème comme celui-ci est résolu en changeant le

minSdkVersion 14

Dans la construction.gladdle fichier et utiliser celui qui est spécifié dans le message d'erreur

mais le problème était

Manifest merger failed : uses-sdk:minSdkVersion 14 cannot be smaller than version 15 declared in library

donc j'ai changé de 14 à 15 dans la construction.gladdle fichier et ça marche

essayez.

0
répondu Ruberandinda Patience 2018-06-21 07:16:31