Si hay varios módulos con la misma configuración, puede extraer estas configuraciones, es decir, utilizar la configuración global. Hay muchas formas de configurar globalmente, dos de las cuales se presentan aquí.
1. Use la configuración del bloque ext Use el bloque ext
en el proyecto build.gradle como se muestra a continuación.
GRADLE
ext { compileSdkVersion = 28 buildToolsVersion = "28.0.3" minSdkVersion = 15 targetSdkVersion = 28 } |
Utilice la configuración en build.gradle de un determinado módulo:
GRADLE
aplicar plugin: 'com.android.application' androide { compileSdkVersion rootProject.ext.compileSdkVersion buildToolsVersion rootProject.ext.buildToolsVersion defaultConfig { applicationId "com.example.liuwangshu.hookinstrumentation" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } ... } ... |
2. Utilice la configuración config.gradle
Primero cree un archivo config.gradle en el directorio raíz para la configuración.
config.gradle
GRADLE
ext { android = [ applicationId: "com.example.liuwangshu.hookinstrumentation", compileSdkVersion: 28, buildToolsVersion: "28.0.3", minSdkVersion: 15, targetSdkVersion: 28, ] dependencias = [ "appcompat-v7": "com. android.support:appcompat-v7:28.0.0 ", " restricción ":" com.android.support.constraint: diseño de restricción: 1.1.3 ", ] } |
Luego agréguelo apply from: "config.gradle"
al proyecto build.gradle para que todos los módulos del proyecto puedan usar los parámetros definidos en config.gradle.
Finalmente, use la configuración en build.gradle del módulo:
GRADLE
aplique el complemento: 'com.android.application' android { compileSdkVersion rootProject.ext.android.compileSdkVersion buildToolsVersion rootProject.ext.android.buildToolsVersion defaultConfig { applicationId rootProject.ext.android.applicationId minSdkVersion rootSdkVersion rootProject.min .android.targetSdkVersion versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } ... dependencias { implementación rootProject.ext.dependencies ["constricción"] implementación rootProject.ext.dependencies ["appcompat-v7"] ... } |
4.3 dependencias 块
El bloque de dependencias se utiliza para configurar todas las bibliotecas de las que depende el módulo durante el proceso de compilación. La versión 3.4 del complemento de Gradle agrega api e implementación para reemplazar la dependencia de la configuración de compilación, donde la api es la misma que la compilación anterior. Las principales diferencias entre dependencias y api son las siguientes:
- La implementación permite que el módulo oculte sus dependencias en tiempo de compilación, pero esta dependencia es visible para todos los módulos en tiempo de ejecución. La api, al igual que la compilación, no puede ocultar las dependencias que utiliza.
- Si usa api, un módulo cambia, todos los módulos en esta cadena de dependencia deben volver a compilarse, mientras que con la implementación, solo la dependencia directa de este módulo debe volver a compilarse.