build.gradle en el proyecto vs. build.gradle en la aplicación

Empecé un proyecto en Android Studio, con IntelliJ.

El proyecto incluye dos archivos llamados build.gradle . Uno está debajo de la app la carpeta, y uno está debajo de la carpeta principal que es mi nombre del proyecto, diga MyProject .

¿Por qué la necesidad de dos? ¿Cuál es la diferencia entre los dos build.gradle s?

One Solution collect form web for “build.gradle en el proyecto vs. build.gradle en la aplicación”

El proyecto de Android Studio consta de módulos, bibliotecas, archivos de manifiesto y archivos de compilación de Gradle.

Cada proyecto contiene un archivo de generación Gradle de nivel superior. Este archivo se llama build.gradle y se puede encontrar en el directorio de nivel superior.

Este archivo normalmente contiene configuración común para todos los módulos, funciones comunes.

Ejemplo:

  //gradle-plugin for android buildscript { repositories { mavenCentral() //or jcenter() } dependencies { classpath 'com.android.tools.build:gradle:0.12.2' } } // common variables ext { compileSdkVersion = 19 buildToolsVersion = "20.0.0" } // a custom function def isReleaseBuild() { return version.contains("SNAPSHOT") == false } //common config for all projects allprojects { version = VERSION_NAME repositories { mavenCentral() } } 

Todos los módulos tienen un archivo build.gradle específico . Este archivo contiene toda la información sobre este módulo (porque un proyecto puede contener más módulos), como config, construir tyoes, información para firmar su apk, dependencias ….

Ejemplo:

 apply plugin: 'com.android.application' android { //These lines use the constants declared in top file compileSdkVersion rootProject.ext.compileSdkVersion buildToolsVersion rootProject.ext.buildToolsVersion defaultConfig { minSdkVersion 14 targetSdkVersion 19 versionName project.VERSION_NAME //it uses a property declared in gradle.properties versionCode Integer.parseInt(project.VERSION_CODE) } // Info about signing signingConfigs { release } // Info about your build types buildTypes { if (isReleaseBuild()) { release { signingConfig signingConfigs.release } } debug { applicationIdSuffix ".debug" versionNameSuffix "-debug" } } // lint configuration lintOptions { abortOnError false } } //Declare your dependencies dependencies { //Local library compile project(':Mylibrary') // Support Libraries compile 'com.android.support:support-v4:20.0.0' // Picasso compile 'com.squareup.picasso:picasso:2.3.4' } 

Puede encontrar más información aquí: http://developer.android.com/sdk/installing/studio-build.html

  • ¿Por qué Android Studio no puede hacer referencia a una biblioteca si se incluye sólo en build.gradle?
  • Android studio + Gradle + Android Anotaciones
  • Android Studio, error de actualización de Gradle
  • Android Studio no puede encontrar clases de biblioteca después de Gradle build
  • Cómo solucionar el problema de incompatibilidad de Gradle al importar un proyecto de muestra de Android
  • Cómo definir las propiedades comunes de android para todos los módulos usando gradle
  • Robolectric filenotFound en archivos de activos
  • Diferencia entre compilar vs compilar árbol vs compilar archivos?
  • No se puede ver la tarea del archivo de asignación de carga de Firebase
  • No se pudo actualizar el proyecto Gradle después de la actualización de Android Studio
  • ¿Cómo crear un proyecto android con gradle desde la línea de comandos?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.