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?

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

  • Gradle no puede encontrar dependencia (biblioteca de soporte de Android)
  • Ejemplo de archivos de compilación gradle para referenciar Crashlytics de proyectos de App y Library
  • Error com.google.android.gms / play-services / 8.4.0 / gradle: 2.0.0-alpha5
  • Android Gradle Adición de biblioteca estática
  • No se encontró ningún cliente coincidente para el nombre del paquete (Google Analytics) - multiple productFlavors & buildTypes
  • Error de Gradle en Android Studio: Plugin con id 'com.android.library' no encontrado
  • Gradle crea y despliega tipo de compilación específico
  • Código de ruta por sabor en Android Gradle
  • Error de Gradle después de incluir facebook sdk
  • Compilar y usar binarios ejecutables dependientes de ABI en Android con Android Studio 2.2 y CMake
  • Cómo configurar la biblioteca de compilación en android studio. LOMBOK
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.