web-dev-qa-db-fra.com

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

Depuis le téléchargement du dernier SDK et l'installation d'Android Studio, la construction de mon projet a échoué. 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
226
loeschg

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'avais les éléments suivants dans build.gradle:

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

Changer cela pour

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

résolu le problème. 

Assurez-vous que vous ne faites pas d'inclusion générale de com.Android.support:support-v4:+ ou de toute autre bibliothèque de support (v7, v13, appcompat, etc.), où que vous soyez dans votre projet.

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

Modifier:

Si vous devez utiliser les nouvelles vues (CardView, RecyclerView et Palette), les opérations suivantes devraient 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"

(Merci à EddieRingle sur/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 de voter si cela peut vous aider!

311
loeschg

De plus, si vous importez la bibliothèque appcompat-v7, assurez-vous de marquer un numéro de version à la fin, comme suit:

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

Après avoir seulement changé la version de support-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 la bibliothèque com.Android.support:support-v4:21.0.0-rc1

C'était un peu déroutant, car il semble que le problème persiste, mais, en fait, restreindre la version de appcompat v7 a résolu le problème.

69
murtuza

Solution 1:

Remplacez uses-sdk par <uses-sdk tools:node="replace" /> et ajoutez 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 supérieur pour utiliser la fusion Manifest.

Solution 2:

  • Remplacez compile 'com.Android.support:support-v4:+' par 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 l'une de vos dépendances externes utilise la même chose. Vous devrez probablement attendre qu'ils mettent à jour la même chose.

Solution 3:

  • Supprimer/Commenter <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 chose pour support-v7

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

Ne fonctionne plus.

remplacez uses-sdk par 

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

et ajouter
xmlns:tools="http://schemas.Android.com/tools" dans le fichier AndroidManifest.xml

20
userM1433372

Le problème se pose toujours avec les 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.+'
    }
}

à votre build.gradle.

Si vous souhaitez en savoir plus sur les stratégies de résolution des graduations, consultez ce 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
koesclem

Dans le fichier build.gradle, il s’agissait par défaut de compiler 'com.Android.support:support-v4:+'. Ainsi, lorsque vous générez le projet gradle, le projet envisagé serait com.Android.support:support-v4:21.0.0-rc1. en raison de la récente version de prévisualisation du développeur L.

Apportez des modifications dans la ligne suivante et le problème sera résolu . Changer

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

à

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

De même, lorsque vous utilisez la bibliothèque de support v7-appcompat, effectuez la modification à partir de

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

à 

compile 'com.Android.support:appcompat-v7:20.+'.
8
Bhargav Jhaveri

En ajoutant aux réponses correctes ci-dessus, le problème peut toujours se produire en raison de l'imbrication de bibliothèques. Dans ce cas, essayez 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'
}
8
Leonardo Cardoso

pour les personnes créant des applications hybrides à l'aide de la CLI de cordova, cette commande vous aidera

cordova build Android -- --minSdkVersion=15

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

7
ProllyGeek

Pour les personnes confrontées à ce problème dans la version bêta de Android Studio, la réponse acceptée ne réglait pas mon problème. Lors de l’importation d’un projet téléchargé depuis GitHub, j’avais dans mon fichier build.gradle ce qui suit, 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 ci-dessus en remplaçant la dépendance par:

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

Remarque: vous devrez peut-être également télécharger un niveau d'api inférieur à celui actuellement disponible dans Android Studio pour certaines bibliothèques et certains projets afin que cela fonctionne correctement.

6
Illegal Argument

J'ai également eu le même problème et les changements suivants m'ont aidé:

de:

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

à:

dependencies {
 compile 'com.Android.support:support-v4:20.0.0'
}
6
min2bro

J'ai résolu le problème en modifiant la ligne ci-dessous dans build.gradle 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
Cristiana Chavez
compile('com.Android.support:support-v4:19.1.0'){
    force = true
}

M'a aidé, pris de ici

5
Lina Shyshova

Je fais toutes les solutions ici sans résultat, donc je cherche ailleurs et j'ai trouvé un moyen de tromper l'IDE, il faut donc mettre une ligne dans le Mainfest pour que Gradle utilise un autre vous mettez sur build.gradle la ligne est:

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

juste ça et ça marche.

J'espère que ça aide.

4

Vous devez configurer toutes les bibliothèques de supports et appcompat avec la version 19. +

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

Ajoutez d'abord ce code:

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

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

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

Vous devez supprimer de build.gradle compile 'com.Android.support:support-v13:+'

3
Ihor Kostenko

Voici le nouveau bogue enregistré pour ce btw https://code.google.com/p/Android/issues/detail?id=72430

En supposant que vous utilisiez le référentiel de support, la solution consiste à commenter ou à supprimer la ligne.

21.0.0-rc1in. Dans le fichier de liste de référentiels Maven local /extras/Android/m2repository/com/Android/support-v4/maven-metadata.xml

3
LemonGentry

Dans Android Studio 1.1.0: Fichier - Structure du projet - Flavors d'onglets - Sélectionnez la version minimale du SDK qui est supérieure à celle de Manifest

0
ea_

J'ai des projets pour lesquels je préfère cibler L.MR1 (SDKv22) et d'autres pour lesquels je préfère KK (SDKv19). Votre résultat peut être différent, mais cela a fonctionné 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
AG1

Essayez de supprimer les dossiers build de votre projet et resynchronisez votre projet de dégradé pour le reconstruire. En outre, comme d’autres l’ont dit dans cet article - au lieu de faire quelque chose comme ceci:

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

faire ceci:

compile 'com.Android.support:support-v4:19.1.0'
0
IgorGanapolsky

Pour moi, le problème comme celui-ci est résolu en modifiant le 

minSdkVersion 14

Dans le fichier build.gladdle et utilisez celui 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

J'ai donc changé de 14 à 15 dans le fichier build.gladdle et cela fonctionne

essaie.

0

N'oubliez pas que vous devez éditer build.gradle dans le sous-dossier 'app' de votre projet et non dans le dossier du projet. J'ai perdu une journée de travail à essayer de résoudre un problème avec la version "L".

0
CoolMind

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

compile 'com.Android.support:support-v13:19.+ également, avec 

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

de compile 'com.Android.support:support-v4:+' compile 'com.Android.support:support-v7:+' compile 'com.Android.support:support-v13:+' J'espère que cela pourrait aider quelqu'un

0
Deepthi

La seule chose qui a fonctionné pour moi est la suivante:

Dans project.properties, j'ai changé:

cordova.system.library.1 = com.Android.support: support-v4: + à cordova.system.library.1 = com.Android.support: support-v4: 20. +

0
abelabbesnabi

J'ai la deuxième solution:

  1. décompressez https://dl.dropboxusercontent.com/u/16403954/Android-21.Zip en sdk\platforms\
  2. changer build.gradle comme 

    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. Aller au sdk\extras\Android\m2repository\com\Android\support\support-v4\21.0.0-rc1\

décompressez support-v4-21.0.0-rc1.aar et modifiez AndroidManifest.xml like

de 

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

à 

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

P.S. Vous pouvez le faire avec toutes les bibliothèques de support nécessaires.

0
Vova K.

Vous venez de changer le niveau minimum de l'API de Build Settings -> Player Settings -> Other Settings -> Minimum SDK Level à une version supérieure.

0
Codemaker

Ciblez simplement le minSdkVersionrequis, et remplacez-le par le nécessaire. Dans mon cas, minSdkVersionétait 14.

Le passage à minSdkVersion16 a résolu le problème.

compileSdkVersion 29
    defaultConfig {
        applicationId "e.futaaapp"
        minSdkVersion 14
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

compileSdkVersion 29
    defaultConfig {
        applicationId "e.futaaapp"
        minSdkVersion 16
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
0
Kim

Solution: Echec de la fusion manifeste Application d'attribut @ ppComponentFactory ...

Si vous utilisez l'une des dernières et meilleures bibliothèques Firebase ou d'autres bibliothèques, celles-ci utilisent en réalité AndroidX au lieu d'Android.support. Le problème peut alors résulter de l'échec de la fusion de manifeste! Donc, dans ce cas, votre projet doit migrer vers AndroidX. Suivez donc le lien: https://firebase.google.com/support/release-notes/Android#update_-_june_17_2019

Ou regardez cette vidéo. https://youtu.be/RgveQ4AY1L8 Merci.

0
Subhojit Halder

Le meilleur moyen est de laisser Android Studio résoudre le problème.

J'ai fait le dessous, et ça a bien fonctionné.

  1. Ouvrez votre projet dans Android Studio, les erreurs se produiront. Si un lien vous permet de le réparer, cliquez dessus.

  2. Rouvrez votre projet dans Android Studio, les erreurs apparaîtront, il y aura un lien si ce n'est pas donné à l'étape 1, cliquez sur le lien donné pour le réparer.

Notez que les deux opérations ont pris plusieurs minutes, mais ont résolu tous les problèmes.

0