Solución:
build.gradle(Project:My-app)
Archivo de compilación de nivel superior donde puede agregar opciones de configuración comunes a todos los subproyectos / módulos.
Cada proyecto contiene un top-level gradle file
. Por lo general contiene common configs
para todos modules
. Todo lo que se incluye en este top-level gradle
, afectará a todos modules
.
ex:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0-alpha3'
//Maven plugin
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
maven { url "https://jitpack.io" }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
build.gradle(Module:app)
Construya el archivo de su módulo específico (donde agrega sus dependencias, configuraciones de firma, tipos de compilación, sabores, etc.)
Todos modules
tener un especifico gradle
expediente. Todo lo que se incluye en este gradle
archivo, solo afectará al module
que se incluye en.
ex:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.hrskrs.gesturefun"
minSdkVersion 10
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
zipAlignEnabled true
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
debuggable true
zipAlignEnabled true
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':gesture-fun')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.jakewharton:butterknife:7.0.1'
}
Es un poco confuso porque Android Studio por defecto muestra ambos build.gradle
archivos uno al lado del otro (cuando se usa la vista de Android).
Si cambia a la vista Proyecto, puede ver la estructura real y dónde se encuentran las diferentes build.gradle
se encuentran los archivos.
los build.gradle
El archivo (Proyecto: MyApplication) se encuentra en la carpeta raíz del proyecto y sus ajustes de configuración se aplican a todos los módulos del proyecto. Un módulo es una pieza aislada del proyecto más grande. En un proyecto de varios módulos, estos módulos tienen sus propios trabajos, pero trabajan juntos para formar el proyecto completo. La mayoría de los proyectos de Android solo tienen un módulo, el módulo de la aplicación.
los build.gradle
(Módulo: aplicación) archivo aquí está en el app
carpeta. Su configuración de compilación se aplica solo al módulo de la aplicación. Si hubiera otro módulo, entonces ese módulo tendría su propio build.gradle
archivo también. Como ejemplo, hice un proyecto de biblioteca con tres módulos: un módulo de biblioteca, un módulo de aplicación de demostración y otro módulo de aplicación que planeo usar para probar. Cada uno tiene su propio build.gradle
archivos que puedo modificar.
En un proyecto básico, casi todo lo que necesita editar estará en el módulo de la aplicación. build.gradle
expediente. Puedes recordarlo así:
Estás haciendo un aplicación, así que ve al
build.gradle
(Módulo: aplicación) expediente.
Otras lecturas
- Configure Your Build (documentación de Android – muy legible y útil)
- Introducción a las compilaciones de varios proyectos (documentación de Gradle)