Error en la fusión de manifiesto: uses-sdk: minSdkVersion 14

Desde la descarga del SDK más reciente y la instalación de Android Studio, mi proyecto no se puede construir. Recibo el siguiente mensaje:

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 

Nota: Esto se ha actualizado para reflejar la versión de API 21, Lollipop. Asegúrese de descargar el SDK más reciente.

En uno de mis módulos tuve lo siguiente en build.gradle:

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

Cambiar esto a

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

Resolvió el problema.

Asegúrese de no hacer una inclusión general de com.android.support:support-v4:+ o cualquier otra biblioteca de soporte (v7, v13, appcompat, etc), en cualquier parte de su proyecto.

Supongo que el problema es v4:+ recoge el release candidate (21.0.0-rc1) último lanzamiento de L que obviamente requiere el L SDK.

Editar:

Si necesita utilizar las nuevas vistas (CardView, RecyclerView y Paleta), debería funcionar lo siguiente:

 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édito a EddieRingle en / androiddev – http://www.reddit.com/r/androiddev/comments/297xli/howto_use_the_v21_support_libs_on_older_versions/ )

Otra Editar

Asegúrate de ver la respuesta de @ murtuza abajo sobre appcompat-v7 y upvote si ayuda!

Además, en caso de que esté importando la librería appcompat-v7 asegúrese de etiquetar un número de versión al final de la misma:

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

Después de cambiar solamente la versión de soporte-v4, todavía recibí el error:

La fusión de manifiesto falló: uses-sdk: minSdkVersion 15 no puede ser menor que la versión L declarada en la biblioteca com.android.support:support-v4:21.0.0-rc1

Fue un poco confuso porque parece que v4 sigue siendo el problema, pero, de hecho, la restricción de la versión appcompat v7 solucionó el problema.

Solución 1:

Cambia uses-sdk a <uses-sdk tools:node="replace" /> y añade 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> 

Asegúrese de utilizar gradle 0.11 y superior para usar la fusión Manifest.

Solución 2:

  • Cambie la compile 'com.android.support:support-v4:+' para compile 'com.android.support:support-v4:20.+' en build.gradle . Esto evitará que gradle use v4:21.0.0 que requiere la versión L.

  • Sin embargo, si cualquiera de sus dependencias externas utiliza la misma. Probablemente tendrás que esperar a que actualicen el mismo.

Solución 3:

  • Eliminar / comentar <version>21.0.0-rc1</version> en su archivo <android-sdk>/extras/android/m2repository/com/android/support-v4/maven-metadata.xml

  • Repita lo mismo para support-v7

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

Ya no funciona.

Cambiar usa-sdk a

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

Y agregue xmlns: tools = "http://schemas.android.com/tools&quot; en AndroidManifest.xml

El problema sigue planteándose con las dependencias transitivas. Gradle ofrece una forma de forzar el uso de una versión específica de una dependencia.

Por ejemplo, puede agregar algo como:

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

A su build.gradle.

Si desea obtener más información sobre las estrategias de resolución de grados, consulte esta guía http://www.gradle.org/docs/current/dsl/org.gradle.api.artifacts.ResolutionStrategy.html

Encontré esto mientras leía el número correspondiente que enlataré aquí

En el archivo build.gradle, se compiló por defecto 'com.android.support:support-v4:+', por lo que cuando se construye el gradle projecit se consideraría, com.android.support:support-v4:21.0.0-rc1 Debido a la reciente revelación de desarrollador de L.

Realice los cambios en la línea siguiente y resolverá el problema. Cambio

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

a

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

Del mismo modo al utilizar la biblioteca de soporte de v7-appcompat, realice el cambio desde

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

a

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

Agregando a las respuestas correctas anteriores, el problema todavía podría ocurrir debido a la anidación de la biblioteca. En este caso, pruebe con el siguiente ejemplo:

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

También tuve el mismo problema y el siguiente cambio me ayudó:

de:

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

a:

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

Para las personas que se enfrentan a este problema en la beta de Android Studio , la respuesta aceptada no solucionó mi problema. Importación de un proyecto descargado de GitHub, tenía el siguiente en mi archivo build.gradle de la aplicación que da un error en cuestión:

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

Pero en mi carpeta de biblioteca externa tengo esta carpeta:

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

He resuelto el problema anterior cambiando la dependencia a:

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

Nota: también es posible que necesites descargar un nivel de api inferior al actualmente disponible en Android Studio para algunas bibliotecas y proyectos para que esto funcione correctamente.

He resuelto el problema mediante la edición de la línea de abajo en build.gradle y funciona! Todos los derechos reservados

Añadiendo la versión 20. + '

De

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

A

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

Para las personas que crean aplicaciones híbridas usando cordova CLI, este comando ayudará:

 cordova build android -- --minSdkVersion=15 

Sí que usa doble guiones dobles como lo vio.

Tienes que configurar todos los soportes y librerías appcompat con la versión 19. +

Si la recomendación de dejar la biblioteca de soporte con la versión 19. + no funciona, puedes probar la siguiente sugerencia en tu archivo de AndroidManifest.

Primero añada este código:

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

Y luego, en el nivel de aplicación (no dentro de la aplicación!)

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

Hago todas las soluciones aquí sin ningún resultado, así que miro en otro lugar y encontré una manera de engañar al IDE, así que tienes que poner una línea en el Mainfest para hacer que el Gradle use otro, el que Usted pone en build.gradle la línea es:

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

Sólo que, y funciona.

Espero que ayude.

 compile('com.android.support:support-v4:19.1.0'){ force = true } 

Me ayudó, tomado de aquí

Necesita quitar de build.gradle compile 'com.android.support:support-v13:+'

Este es el nuevo error presentado para esta https://code.google.com/p/android/issues/detail?id=72430 https://code.google.com/p/android/issues/detail?id=72430

Suponiendo que está utilizando el repositorio de soporte técnico, la solución es comentar o quitar la línea

21.0.0-rc1 en el archivo local de repo de Maven local en /extras/android/m2repository/com/android/support-v4/maven-metadata.xml

No olvides que deberías editar build.gradle en la subcarpeta 'app' de tu proyecto, no en la carpeta del proyecto. He perdido un día de trabajo tratando de resolver un problema con la versión "L".

Intente eliminar las carpetas de compilación en su proyecto y vuelva a sincronizar su proyecto de gradle para reconstruirlo. Además, como otros han dicho en este post – en lugar de hacer algo como esto:

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

hacer esto:

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

Gracias @Murtuza. Su respuesta me ayudó a resolver mi problema, pero en mi caso

compile 'com.android.support:support-v13:19.+ también, junto con

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

Desde compile 'com.android.support:support-v4:+' compile 'com.android.support:support-v7:+' compile 'com.android.support:support-v13:+' Espero que esto pueda ayudar a alguien

Tengo algunos proyectos en los que prefiero apuntar a L.MR1 (SDKv22) y algunos proyectos donde prefiero KK (SDKv19). Su resultado puede ser diferente, pero esto funcionó para mí.

 // 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:+' } 

En Android Studio 1.1.0: Archivo – Estructura del proyecto – Tab Flavors – Seleccione Min SDK Version que es mayor que en Manifest

Tengo la segunda solución:

  1. Descomprima https://dl.dropboxusercontent.com/u/16403954/android-21.zip a sdk\platforms\
  2. Cambiar

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

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

    En Manifiesto con xmlns:tools="schemas.android.com/tools" ;

  4. Vaya a sdk\extras\android\m2repository\com\android\support\support-v4\21.0.0-rc1\

Descomprimir soporte-v4-21.0.0-rc1.aar y editar AndroidManifest.xml como

de

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

a

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

PS Puede hacer esto con todas las bibliotecas de soporte que lo necesiten.

Lo único que funcionó para mí es esto:

En project.properties, cambié:

Cordova.system.library.1 = com.android.support: support-v4: + a cordova.system.library.1 = com.android.support: support-v4: 20. +

  • Android Instant Ejecutar compilaciones lentas
  • Error en la sincronización del proyecto de Android Gradle
  • Android Studio ignorar --core-library flag
  • ¿Todas las bibliotecas com.google.android.gms deben usar la misma especificación de versión?
  • ¿Por qué Android Studio no me permite crear clases Java?
  • Uso de Proguard para eliminar clases no utilizadas en la biblioteca de Servicios de Google Play
  • Generación dinámica de sabores de productos
  • Android Studio 3.0, compilación AAPT2 falló - dimen no válido en el archivo de recursos
  • Error después de agregar biblioteca de juegos de servicios: ': app: transformClassesWithJarMergingForDebug'
  • Archivos duplicados copiados (Android Studio 0.4.0)
  • Android studio Gradle :: dependencies {compilar 'com.android.support:appcompat-v7:18.0.0'} falla la compilación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.