¿Cómo forzar a un subproyecto gradle a usar buildToolsVersion / compileSdkVersion del proyecto raíz?
Buscando alguna forma inteligente de hacer esto sólo una vez, por ejemplo
allprojects { android { buildToolsVersion '18.0.1' compileSdkVersion 18 defaultConfig { targetSdkVersion 18 } } }
De lo contrario necesito subir esta cosa en cada subproyecto (por ejemplo, en la biblioteca referenciada como volley o viewpagerindicator) cada vez que hay una nueva actualización de SDK disponible.
- Después de la actualización para Android Studio 2.1.1 Error: (30, 13)
- ResConfigs por tipo de compilación
- Gitlab CI caché dependencia gradle
- IntelliJ nuevo androide gradle plugin (0.14. +)
- La mejor manera de administrar las dependencias de Android Gradle
- Missing Gradle en Android SDK (usando cordova + ionic)
- Cómo excluir el módulo de todas las dependencias, pero dejar la declaración explícita Gradle
- Cómo acelerar el proceso de compilación de Android Studio
- ¿Depurar un proyecto Java basado en gradle en Android Studio?
- Proguard Nota para la clase desconocida 'Objeto' con Android Studio y Gradle
- Trabajo de Jenkins usando Gradle no puede encontrar ejecutable
- Cómo controlar Android Emulator de Gradle
- Todas las bibliotecas com.android.support deben utilizar la misma versión
Normalmente, el proyecto raíz no contendría código y, por lo tanto, utilizaría subprojects
. También tendrás que aplicar el complemento de Android antes del bloque de android {}
. Aparte de eso, espero que esto funcione.
Respondí en otra pregunta:
Encontré una solución aquí .
Lo copiará aquí por si acaso:
En usted root build.gradle add
ext { compileSdkVersion = 20 buildToolsVersion = "20.0.0" } subprojects { subproject -> afterEvaluate{ if((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) { android { compileSdkVersion rootProject.ext.compileSdkVersion buildToolsVersion rootProject.ext.buildToolsVersion } } } }
Esto se aplicará compileSdkVersion y buildToolsVersion a cualquier módulo de android que tenga.
Y en build.gradle de su proyecto principal cambie dependencias a esto:
compileSdkVersion rootProject.ext.compileSdkVersion buildToolsVersion rootProject.ext.buildToolsVersion
Básicamente usted los está definiendo una vez y podría utilizar de dondequiera.
Aclamaciones.