android-gradle Tutorial
Iniziare con Android Gradle
Ricerca…
Osservazioni
Cos'è Android Gradle
android-gradle
è un plugin gradle
mantenuto ufficialmente dal team di sviluppatori di Google Tools ed è lo strumento di creazione ufficiale dall'annuncio del 16 maggio 2013 gradle
/ O di Google.
Impara le basi leggendo Configura la tua build con Gradle .
Caratteristiche principali
Le caratteristiche principali di Android Gradle Plugin sono:
- Gestione delle dipendenze
- Progetti modulari con librerie
- Varianti attraverso sapori e tipi di costruzione
- Build indipendenti IDE
Panoramica
- Scarica e installa Android Studio
- aprilo e crea un nuovo progetto con tutte le impostazioni predefinite
In teoria è possibile installare direttamente gradle, creare autonomamente i file di configurazione e la struttura della directory. In pratica nessuno lo fa.
Struttura del progetto
Generalmente una struttura di cartelle di progetto appare come questa:
android-gradle
Plugin
Un progetto gradle è solitamente diviso in sottoprogetti o moduli ciascuno contenente uno script di compilazione dedicato.
La dipendenza del plugin è solitamente dichiarata nel file build.gradle
livello principale / superiore:
buildscript {
// maven repositories for dependencies
repositories {
jcenter()
}
// build script dependencies
dependencies {
// this is the dependency to the android build tools
classpath 'com.android.tools.build:gradle:2.1.2'
}
}
allprojects {
// maven repositories for all sub-project / modules
repositories {
jcenter()
}
}
In questo esempio la versione del plug android-gradle
è la 2.1.2
come puoi vedere da questa linea:
classpath 'com.android.tools.build:gradle:2.1.2'
moduli
Il progetto è diviso in moduli ciascuno contenente uno script build.gradle
dedicato. Il file settings.gradle
elenca questi moduli:
include ':app'
I due punti :
è usato alquanto come un delimitatore di cartella.
Per utilizzare il plugin deve essere applicato nella parte superiore del file build.gradle
di ciascun modulo ( app
nell'esempio).
Per un'applicazione Android:
apply plugin: 'com.android.application'
Per una libreria Android:
apply plugin: 'com.android.library'
E poi configurato nel suo tag android
:
android {
// gradle-android plugin configuration
}
Configurazione base dell'applicazione Android
Il build.gradle
generato da Android Studio per un'applicazione assomiglia a questo:
apply plugin: 'com.android.application'
android {
// setup which version of the SDK to build against and
// with what version of the build tools
compileSdkVersion 23
buildToolsVersion "23.0.2"
// default app configurations
defaultConfig {
// this is your app unique ID
applicationId "com.example.myapp"
// devices with lower SDK version can't install the app
minSdkVersion 14
// target SDK version, should be the last available one and
// match the compile one
targetSdkVersion 23
// integer and string version of your app
versionCode 1
versionName "1.0"
}
// default build types are "debug" and "release"
buildTypes {
release {
// enable / disable proguard optimization
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
// app dependencies
dependencies {
// any jar file in the libs folder
compile fileTree(dir: 'libs', include: ['*.jar'])
// test dependency
testCompile 'junit:junit:4.12'
// runtime dependency on the support library
compile 'com.android.support:appcompat-v7:24.0.0'
}
Configura la tua build con Gradle per insegnarti impostazioni e opzioni Android Gradle più avanzate e approfondisci il significato di questa impostazione.
Il defaultConfig
è chiamato così perché può essere sostituito con Product Flavors .
Il tag buildTypes
ti consente di configurare come costruire l'ottimizzazione delle abilitazioni dell'app (come proguard), puoi imparare di più leggendo i Tipi di costruzione . Può anche essere utilizzato per impostare la firma della tua app.
Dovresti anche imparare di più su come dichiarare le dipendenze . Come vedi il tag dependencies
è fuori da android
: questo significa che non è definito dal plugin Android, ma è un gradle
standard .
The Gradle Wrapper
Per impostazione predefinita, Android Studio installerà anche un wrapper gradle . Questo è uno strumento che puoi eseguire direttamente dalla riga di comando e scaricherà una versione locale specifica di gradle la prima volta che la esegui.
Per avviare la compilazione dell'app puoi quindi avviare il wrapper gradle
Linux / Mac:
./gradlew assemble
Finestre:
gradlew assemble
Lo script avvia il wrapper, contenuto in una cartella gradle
nella directory principale del tuo progetto:
-
gradle-wrapper.jar
: il codice del wrapper per scaricare gradle ed eseguirlo -
gradle-wrapper.properties
definisce quale versione gradle deve essere scaricata dal wrapper
Link esterno:
Configurazione iniziale con Android Studio
Per configurare l'utilizzo di Android Gradle Plugin hai bisogno di molte cose:
- Giava
- Gradle
- la struttura della cartella del progetto Android
- un manifesto Android
- configurazione iniziale del plugin
Il modo più semplice per ottenerli è seguire questi passaggi:
- Scarica e installa Java OpenJDK versione 6 o 7 (puoi usare 8 con le impostazioni aggiuntive del plugin gradle)
- Scarica e installa Android Studio
- Crea un nuovo progetto (se hai bisogno di aiuto vedi Creazione di un nuovo progetto )
Controlla la sezione Note per maggiori informazioni.
Plugin Android per Gradle
Come descritto nella sezione commenti, il sistema di build Android utilizza il plug-in Android per Gradle per supportare la creazione di applicazioni Android con Gradle.
È possibile specificare il plug-in Android per la versione Gradle nel file build.gradle
livello build.gradle
. La versione del plug-in si applica a tutti i moduli creati in tale progetto di Android Studio.
buildscript {
...
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0'
}
}
Involucro Gradle
Come descritto nella sezione commenti è possibile specificare la versione Gradle utilizzata da ciascun progetto modificando il riferimento di distribuzione Gradle nel file gradle/wrapper/gradle-wrapper.properties
.
Per esempio:
...
distributionUrl = https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
...