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
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!
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.
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.+'
dansbuild.gradle
. Cela empêchera gradle d'utiliserv4: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
<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
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
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.+'.
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'
}
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'
}
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.
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.
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.+'
}
compile('com.android.support:support-v4:19.1.0'){
force = true
}
M'a aidé, tiré de ici
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" />
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.
vous devez supprimer de build.Grad compile 'com.android.support:support-v13:+'
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
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".
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'
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
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:+'
}
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
j'ai la deuxième solution:
- décompresser
https://dl.dropboxusercontent.com/u/16403954/android-21.zip
àsdk\platforms\
-
changement de construire.Grad like
compileSdkVersion 21 buildToolsVersion "20.0.0" defaultConfig { applicationId "package.name" minSdkVersion 10 targetSdkVersion 21 versionCode 1 versionName "1.0" }
-
ajouter
<uses-sdk tools:node="replace" />
dans le manifeste avec
xmlns:tools="schemas.android.com/tools"
; -
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.
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.+
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.