tools studio last flavors debug android android-studio gradle android-gradle build.gradle

studio - flavors android gradle



Android Studio gradle no compila la versiĆ³n especificada (7)

Con las últimas actualizaciones, usando esto:

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

o

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

está utilizando la lib de soporte en la vista previa L

Estas minSdkVersion L soporte están declarando minSdkVersion L

Tienes que forzar la minSdkVersion para que sea ''L'' (consulta el documento)

Esto se debe a que estas API no son definitivas. Es una forma de evitar la instalación de aplicaciones en un dispositivo API 21 final o su publicación en la tienda utilizando support lib 21-r1.

Utilizando

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

está utilizando la biblioteca de soporte "anterior" 19.1.0.

He estado desarrollando este pequeño proyecto durante algunos días, pero de repente hoy, Android Studio comenzó a darme este error

Error:Execution failed for task '':app:processDebugManifest''. > Manifest merger failed : uses-sdk:minSdkVersion 14 cannot be smaller than version 14 declared in library com.android.support:support-v4:21.0.0-rc1

Entendí que es porque está intentando compilar la biblioteca de Android-L. La versión que quiero que compile es la versión anterior pero no lo hará. Me sigue dando el error anterior sin importar en qué versión ingrese. Aquí están las dependencias.

dependencies { compile fileTree(dir: ''libs'', include: [''*.jar'']) compile ''com.android.support:appcompat-v7:20.+'' compile ''com.android.support:support-v4:20.+'' }

ACTUALIZAR

Acabo de instalar Android Studio Beta y cambié mis dependencias al que Eugen sugirió a continuación. Pero la sincronización del proyecto arroja el mismo error sin importar la versión de appcompat, la versión de soporte que especifico. Da este error cada vez que sincronizo

uses-sdk:minSdkVersion 14 cannot be smaller than version L declared in library com.android.support:support-v4:21.0.0-rc1

Mis dependencias actualizadas

dependencies { compile fileTree(dir: ''libs'', include: [''*.jar'']) compile ''com.android.support:appcompat-v7:19.+'' compile ''com.android.support:support-v4:19.+'' }

ACTUALIZACIÓN 2

No creo entender el sistema de dependencias de Android Studio correctamente. Acabo de eliminar tanto el appcompat como el soporte de las dependencias y todavía me da el mismo error. ¿Tengo que eliminar las bibliotecas incluidas inicialmente de algún lugar?

build.gradle

* nota: volví a agregar esas dos bibliotecas e intenté sincronizar, por las dudas. Pero no hay chenges.

apply plugin: ''android'' android { compileSdkVersion 19 buildToolsVersion "19.1.0" defaultConfig { applicationId "taz.starz.footynews" minSdkVersion 14 targetSdkVersion 19 versionCode 1 versionName "1.0" } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile(''proguard-android.txt''), ''proguard-rules.pro'' } } } dependencies { compile fileTree(dir: ''libs'', include: [''*.jar'']) compile ''com.android.support:appcompat-v7:19.+'' compile ''com.android.support:support-v4:19.+'' compile project('':ParallaxScroll'') compile files(''src/main/libs/Header2ActionBar-0.2.1.jar'') compile ''com.arasthel:gnavdrawer-library:+'' compile ''com.koushikdutta.ion:ion:1.2.4'' }

Nivel superior build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { mavenCentral() } dependencies { classpath ''com.android.tools.build:gradle:0.12.+'' } } allprojects { repositories { mavenCentral() } }


En Android SDK Manager instale "Android Support Repository" del grupo "extra". Me ayuda. Cuando agregué "exclude group: ''com.android.support'', se completó la compilación module ''support-v4''", pero se produjeron algunos otros errores


Eso es correcto. La nueva biblioteca de soporte no es compatible (todavía) con versiones anteriores de Android.

Cambie su gradle a:

dependencies { compile fileTree(dir: ''libs'', include: [''*.jar'']) compile ''com.android.support:appcompat-v7:19.1.+'' compile ''com.android.support:support-v4:19.1.+'' }

Espero que todavía tengas algo como esto:

android { compileSdkVersion 19 buildToolsVersion ''19.1.0'' defaultConfig { minSdkVersion 14 targetSdkVersion 19 } }


Estaba obteniendo el error:

La ejecución falló para la tarea '': app: processDebugManifest''.

Error en la fusión del manifiesto: uses-sdk: minSdkVersion 1 no puede ser más pequeño que la versión 4 declarada en la biblioteca C: / Users / Igor / AppData / Local / Android / sdk / samples / android-21_1 / legacy / ApiDemos / app / build / intermedios / exploded-aar / com.android.support / support-v4 / 21.0.3 / AndroidManifest.xml Sugerencia: use herramientas: overrideLibrary = "android.support.v4" para forzar el uso

Luego resolví poniendo lo siguiente en mi bloque de gradle defaultConfig:

minSdkVersion 15 targetSdkVersion 21


Tuve el mismo problema ya que una de mis dependencias había especificado ''support-v7: +'' como una dependencia. Pude rastrear esto usando gradle dependencies

Gradle proporciona una forma de forzar la resolución a una versión específica. Terminé teniendo esto en mi build.grade :

compile(''com.android.support:appcompat-v7:19.1.0'') { // really use 19.1.0 even if something else resolves higher force = true }


ACTUALIZACIÓN: Encontré la solución real para mi caso. Asegúrese de que ninguna de sus dependencias incluya silenciosamente support-v4 r21 haciendo esto en su build.gradle :

compile("com.blahblah:blah:123") { exclude group: ''com.android.support'', module:''support-v4'' }

Puede agregar la exclude a todas las bibliotecas, luego eliminar una por una hasta que descubra cuál fue la que está tirando en support-v4 y darle el error. Y deja exclude de eso.

Hay un nuevo error archivado aquí: 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

<version>21.0.0-rc1</version>

en el archivo de listado de repo de Maven local en <android-sdk>/extras/android/m2repository/com/android/support-v4/maven-metadata.xml


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

Esto funcionó para mí