Después de haber importado un proyecto de Eclipse en Android Studio, veo dos build.gradle
archivos:
1 - <PROJECT_ROOT>\build.gradle
2 - <PROJECT_ROOT>\app\build.gradle
La primera versión es más corta, la segunda versión contiene definiciones para compileSdkVersion
, etc.
¿Cuál es el propósito de tener dos archivos separados? ¿Hay tareas de construcción independientes?
Respuestas:
<PROJECT_ROOT>\app\build.gradle
es específico para el módulo de la aplicación .<PROJECT_ROOT>\build.gradle
es un "archivo de compilación de nivel superior" donde puede agregar opciones de configuración comunes a todos los subproyectos / módulos.Si usa otro módulo en su proyecto, como biblioteca local, tendría otro
build.gradle
archivo:<PROJECT_ROOT>\module\build.gradle
Por ejemplo, en su archivo de nivel superior puede especificar estas propiedades comunes:
En tus
app\build.gradle
fuente
build.gradle
obligatoria la presencia del archivo para activar una compilación? Además, ¿el archivo de compilación de nivel superior llama a archivos de subnivel? (Aunque no hay evidencia de eso.)rootProject.ext.compileSdkVersion
construcción es muy informativa.De la documentación oficial:
Archivo de construcción del proyecto
<PROJECT_ROOT>\build.gradle
o el archivo de compilación del proyecto es para todo el proyecto, por lo que se utilizará para configuraciones de proyecto globales. Un archivo de compilación de proyecto típico contiene lo siguiente:Archivo de compilación del módulo
<PROJECT_ROOT>\app\build.gradle
o el archivo de compilación del módulo es para un módulo específico, por lo que se utilizará para configuraciones de nivel de módulo específicas. Un archivo de compilación de módulo contiene lo siguiente:puedes leer los documentos oficiales aquí:
Configuración de construcción de proyectos y módulos
fuente