Desde que descargué el último SDK e instalé Android Studio, mi proyecto no se puede construir. Me sale 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
Respuestas:
Nota: Esto se ha actualizado para reflejar el lanzamiento de API 21, Lollipop. Asegúrese de descargar el último SDK.
En uno de mis módulos tenía lo siguiente en build.gradle:
Cambiando esto a
solucionó el problema.
Asegúrese de que no está haciendo una inclusión general de
com.android.support:support-v4:+
ninguna otra biblioteca de soporte (v7, v13, appcompat, etc.) en ninguna parte de su proyecto.Supongo que el problema es
v4:+
recoger la última versión L delcandidato de lanzamiento (21.0.0-rc1)que obviamente requiere el L SDK.Editar:
Si necesita usar las nuevas vistas (CardView, RecyclerView y Palette), lo siguiente debería funcionar:
(Crédito a EddieRingle en / androiddev - http://www.reddit.com/r/androiddev/comments/297xli/howto_use_the_v21_support_libs_on_older_versions/ )
Otra edición
¡Asegúrese de ver la respuesta de @ murtuza a continuación con respecto a appcompat-v7 y votar si es útil!
fuente
Además, en caso de que esté importando la biblioteca appcompat-v7, asegúrese de etiquetar un número de versión al final de esta manera:
Después de solo cambiar la versión support-v4, aún recibí el error:
Fue un poco confuso porque parece que v4 sigue siendo el problema, pero, de hecho, restringir la versión de appcompat v7 solucionó el problema.
fuente
buildToolsVersion '20.0.0'
en miandroid{}
ycompile 'com.android.support:appcompat-v7:20.0+'
en midependencies {}
no era lo mismo, así que los hice lo mismo (como se muestra aquí).Solución 1:
Cambio usos-SDK para
<uses-sdk tools:node="replace" />
y añadirxmlns:tools="http://schemas.android.com/tools"
enAndroidManifest.xml
Asegúrese de usar gradle 0.11 y superior para usar la fusión de manifiesto.
Solución 2:
Cambiar
compile 'com.android.support:support-v4:+'
acompile 'com.android.support:support-v4:20.+'
enbuild.gradle
. Esto evitará el uso de gradlev4:21.0.0
que requiere la versión L.Sin embargo, si alguna de sus dependencias externas usa lo mismo. Probablemente tendrá que esperar a que actualicen lo 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
fuente
Ya no funciona
cambiar
uses-sdk
ay agregue
xmlns:tools="http://schemas.android.com/tools"
el archivo AndroidManifest.xmlfuente
El problema aún surge 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:
a su build.gradle.
Si desea obtener más información sobre las estrategias de resolución de gradle, consulte esta guía http://www.gradle.org/docs/current/dsl/org.gradle.api.artifacts.ResolutionStrategy.html
Encontré esto mientras leía el problema correspondiente que vincularé aquí
fuente
En el archivo build. debido a la reciente versión de vista previa para desarrolladores de L.
Realice cambios en la siguiente línea y resolverá el problema. Cambio
a
Del mismo modo, cuando utilice la biblioteca de soporte v7-appcompat, realice el cambio de
compile 'com.android.support:appcompat-v7:+'
a
fuente
Además de las respuestas correctas anteriores, el problema aún puede ocurrir debido al anidamiento de la biblioteca. En este caso, intente con el siguiente ejemplo:
fuente
Para las personas que crean aplicaciones híbridas utilizando la CLI de cordova, este comando ayudará a:
sí, usa guiones dobles dobles como lo viste.
fuente
cordova run android
eso falla.cordova-plugin-facebook4
. Desinstalarlo hace que elcordova run android
trabajo esté bien. Lamentablemente no encontré ninguna solución para esto en ningún lado. Intenté agregar manualmente elminSdkVersion
mismo en elAndroidManifest
pero se está sobrescribiendo. Aún tratando de averiguarlo.minSdk
versión a15
inconfig.xml
. La línea:<preference name="android-minSdkVersion" value="14" />
. De esta manera, elAndroidManifest
archivo se actualiza también con la nueva versión.También tuve el mismo problema y los siguientes cambios me ayudaron:
de:
a:
fuente
Para las personas que enfrentan este problema en la versión beta de Android Studio , la respuesta aceptada no resolvió mi problema. Al importar un proyecto descargado de GitHub, tenía lo siguiente en mi archivo build.gradle de la aplicación que daba un error en cuestión:
Pero en mi carpeta de biblioteca externa tengo esta carpeta:
Resolví el problema anterior cambiando la dependencia a:
Nota: es posible que también necesite descargar un nivel de API inferior al actualmente disponible en Android Studio para algunas bibliotecas y proyectos para que esto funcione correctamente.
fuente
Resolví el problema editando la siguiente línea en build.gradle y funciona. :-)
agregando la versión 20. + '
De
A
fuente
v4
y los dev7
soporte a:20.+
.Me ayudó, tomado de aquí
fuente
Debe configurar todos los soportes y bibliotecas de aplicaciones compatibles con la versión 19. +
Si la recomendación de abandonar la biblioteca de soporte con la versión 19. + no funciona, puede probar el siguiente consejo en su archivo AndroidManifest.
Primero agregue este código:
Y luego, a nivel de aplicación (¡no dentro de la aplicación!)
fuente
Hago todas las soluciones aquí sin resultado, así que busqué en otro lugar y encontré una manera de engañar al IDE, por lo que debe poner una línea en el Mainfest para que Gradle use una diferente, la que pones en build.gradle la línea es:
solo eso, y funciona.
Espero que ayude.
fuente
xmlns:tools="http://schemas.android.com/tools"
en la<manifest>
etiquetaDebe eliminar de build.gradle
compile 'com.android.support:support-v13:+'
fuente
Aquí está el nuevo error presentado para este por cierto https://code.google.com/p/android/issues/detail?id=72430
Suponiendo que está utilizando el repositorio de soporte, la solución consiste en comentar o eliminar la línea
21.0.0-rc1 en el archivo de listado de repositorio local de Maven en /extras/android/m2repository/com/android/support-v4/maven-metadata.xml
fuente
Para mí, este problema se resuelve cambiando el
En el archivo build.gladdle y use el que se especifica en el mensaje de error
pero el problema era
Así que cambié de 14 a 15 en el archivo build.gladdle y funciona
darle una oportunidad.
fuente
Simplemente apunte al requerido,
minSdkVersion
es decir, cambie al necesario En mi casominSdkVersion
fue14
.Cambiando para
minSdkVersion
16
resolver el problemafuente
No olvides que debes editar build.gradle en la subcarpeta 'app' de tu proyecto, no en la carpeta del proyecto. Perdí un día de trabajo tratando de resolver un problema con la versión "L".
fuente
Intente eliminar las carpetas de compilación en su proyecto y vuelva a sincronizar su proyecto gradle para reconstruirlo. Además, como otros han dicho en esta publicación, en lugar de hacer algo como esto:
hacer esto:
fuente
Gracias @Murtuza. Tu respuesta me ayudó a resolver mi problema pero en mi caso
compile 'com.android.support:support-v13:19.+
también, junto concompile '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:+'
Hope esto podría ayudar a alguienfuente
Tengo algunos proyectos donde prefiero apuntar a L.MR1 (SDKv22) y algunos proyectos donde prefiero KK (SDKv19). Su resultado puede ser diferente, pero esto funcionó para mí.
fuente
En Android Studio 1.1.0: Archivo - Estructura del proyecto - Tab Flavors - Seleccione Min SDK Version que es más alta que en Manifest
fuente
Tengo la segunda solución:
https://dl.dropboxusercontent.com/u/16403954/android-21.zip
asdk\platforms\
cambiar build.gradle like
añadir
en manifiesto con
xmlns:tools="schemas.android.com/tools"
;Ir
sdk\extras\android\m2repository\com\android\support\support-v4\21.0.0-rc1\
desempaquete support-v4-21.0.0-rc1.aar y edite AndroidManifest.xml como
de
a
PD: Puedes hacer esto con todas las bibliotecas de soporte que necesites.
fuente
Lo único que funcionó para mí es esto:
En project.properties, cambié:
cordova.system.library.1 = com.android.support: support-v4: + to cordova.system.library.1 = com.android.support: support-v4: 20. +
fuente
Simplemente cambia el nivel mínimo de API de
Build Settings -> Player Settings -> Other Settings -> Minimum SDK Level
una versión superior.fuente
La mejor manera es dejar que Android Studio solucione el problema.
Hice lo siguiente, y funcionó bien.
Abra su proyecto en Android Studio, aparecerán errores emergentes, si se proporciona un enlace para solucionarlo, haga clic en él.
Vuelva a abrir su proyecto en Android Studio, aparecerán errores emergentes, habrá un enlace esta vez si no se proporciona en el Paso 1, haga clic en el enlace dado para solucionarlo.
Tenga en cuenta que ambas operaciones tomaron varios minutos, pero resolvieron todos los problemas.
fuente
Solución: la fusión de manifiesto falló. Aplicación de atributo @ ppComponentFactory ...
Si está utilizando las últimas y mejores bibliotecas de Firebase o cualquier otra biblioteca, en realidad están usando AndroidX en lugar de android.support, ¡entonces podría tener el problema ya que la fusión del Manifiesto falló! Entonces, en este caso, su proyecto debe migrar a AndroidX. Entonces sigue el enlace: https://firebase.google.com/support/release-notes/android#update_-_june_17_2019
O mira este video. https://youtu.be/RgveQ4AY1L8 Gracias.
fuente