cómo hacer fuera de árbol android construye con gradle

Una de las características más atractivas de cmake es el paradigma de construcción fuera del árbol, que permite construir variantes de un proyecto en carpetas separadas, haciendo así que sea más rápido cambiar entre configuraciones de construcción.

¿Existe tal mecanismo en android + gradle? Idealmente, no se crearía ni modificaría un solo archivo en el árbol de origen.

EDIT – Lo que quiero decir con fuera de árbol es esto:

Mi carpeta de origen se ve así:

/work/project/build.gradle /work/project/src/... /work/project/res/... 

Cuando ejecuto gradle construir , termino con nuevas carpetas como:

 /work/project/.gradle/... /work/project/build/.. /work/project/res/... 

Quisiera construir el proyecto usando gradle de modo que las nuevas carpetas y los archivos generados estén en una carpeta fuera del proyecto tal como:

 /work/build-project/.gradle/... /work/build-project/build/.. /work/build-project/res/... 

Aquí está un buen hallazgo en cuanto a la filosofía detrás de él: http://voices.canonical.com/jussi.pakkanen/2013/04/16/why-you-should-consider-using-separate-build-directories/

3 Solutions collect form web for “cómo hacer fuera de árbol android construye con gradle”

Tienes que añadir al archivo build.gradle tu proyecto raíz:

 allprojects { buildDir = "/external/path/${rootProject.name}/${project.name}" } 

Android soporta la construcción con variantes. Consulte la documentación sobre las versiones de Gradle:

Edificio con variantes

Tratar de especificar allprojects.buildDir como una ruta relativa no funcionaría correctamente con los módulos a medida que se resuelva desde el módulo actual.

El truco es definirlo así:

buildDir = "${rootDir.absolutePath}/../../../bin/Android/${project.name}"

  • Android Studio con gradle y Google Maps v2
  • Análisis de Android Project con Lint y SonarQube
  • Copie el constructor usando "initWith" para "productFlavors" y "sourceSets"
  • Gradle build falla en la tarea de pelusa
  • Error gradle cuando Theme declare-styleable en dos bibliotecas
  • Falso "Generar firmado APK - APK (s) generado correctamente" pop-up de mensaje cada vez que hago una compilación (después de generar un apk firmado una vez)
  • Proyecto de actualización de Android-Studio con cambios de build.gradle
  • Servicios de Google Play en un proyecto de Android Studio 0.1.1 gradle?
  • Cómo agregar colecciones de apache commons en Android Studio (Gradle)
  • Heredar JavaDoc desde Android SDK con Gradle
  • Error: No se pudo encontrar o cargar la clase principal org.gradle.wrapper.GradleWrapperMain
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.