android-gradle Zelfstudie
Aan de slag met android-gradle
Zoeken…
Opmerkingen
Wat is Android-gradle
android-gradle
is een gradle
plug-in die officieel wordt onderhouden door het ontwikkelteam van Google Tools en is de officiële build-tool sinds de aankondiging op 16 mei 2013 op de Google I / O.
Leer de basis door te lezen Configureer je build met Gradle .
Hoofdfuncties
De belangrijkste kenmerken van de Android Gradle-plug-in zijn:
- Afhankelijkheidsbeheer
- Modulaire projecten met bibliotheken
- Varianten door smaken en buildtypen
- IDE onafhankelijke builds
Overzicht
- Download en installeer Android Studio
- open het en maak een nieuw project met alle standaardinstellingen
In theorie kunt u gradle rechtstreeks installeren, zelf de configuratiebestanden en de mapstructuur maken. In de praktijk doet niemand dat.
Project structuur
Een projectmapstructuur ziet er meestal als volgt uit:
Plug android-gradle
Een gradle-project is meestal onderverdeeld in subproject of modules die elk een specifiek build-script bevatten.
De plug- build.gradle
wordt meestal gedeclareerd in het hoofd- / topniveau build.gradle
bestand:
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 dit voorbeeld is de android-gradle
plug android-gradle
2.1.2
zoals u op deze regel kunt zien:
classpath 'com.android.tools.build:gradle:2.1.2'
modules
Het project is verdeeld in modules die elk een specifiek build.gradle
script bevatten. Het bestand settings.gradle
vermeldt deze modules:
include ':app'
De dubbele punt :
wordt enigszins gebruikt als scheidingsteken voor mappen.
Om de plug-in te gebruiken, moet deze worden toegepast bovenaan het build.gradle
bestand van elke module ( app
in het voorbeeld).
Voor een Android-applicatie:
apply plugin: 'com.android.application'
Voor een Android-bibliotheek:
apply plugin: 'com.android.library'
En vervolgens geconfigureerd in de android
tag:
android {
// gradle-android plugin configuration
}
Standaard Android-applicatieconfiguratie
De build.gradle
gegenereerd door Android Studio voor een applicatie ziet er als volgt uit:
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'
}
Configureer uw build met Gradle leert u meer geavanceerde instellingen en opties voor de Android Gradle-plug-in en gaat dieper in op de betekenis van deze instelling.
De defaultConfig
wordt zo genoemd omdat deze kan worden opgeheven met Product Flavours .
De buildTypes
tag kunt u instellen hoe u uw app te bouwen waardoor optimalisatie (zoals proguard), kunt u meer informatie lezen Build Types . Het kan ook worden gebruikt om het ondertekenen van uw app in te stellen.
U moet ook meer leren over het aangeven van afhankelijkheden . Zoals je ziet, bevindt de dependencies
tag zich buiten de android
tag: dit betekent dat het niet wordt gedefinieerd door de Android-plug-in, maar dat het standaardgradiënt gradle
.
The Gradle Wrapper
Android Studio installeert standaard ook een geleidelijke wrapper . Dit is een hulpmiddel dat u rechtstreeks vanaf de opdrachtregel kunt uitvoeren en het zal een lokale specifieke versie van gradle downloaden de eerste keer dat u het uitvoert.
Om de app te compileren, kunt u vervolgens de gradle wrapper starten
Linux / Mac:
./gradlew assemble
Ramen:
gradlew assemble
Het script start de wrapper, die zich in een gradle
map in de hoofdmap van uw project bevindt:
-
gradle-wrapper.jar
: de code van de wrapper om gradle te downloaden en uit te voeren -
gradle-wrapper.properties
definiëren welke gradelversie de wrapper moet downloaden
Externe links:
Eerste installatie met Android Studio
Om Android Gradle Plugin in te stellen, heb je veel dingen nodig:
- Java
- gradle
- de mappenstructuur van het Android-project
- een Android-manifest
- initiële installatie van de plug-in
De eenvoudigste manier om ze allemaal te krijgen, is door deze stappen te volgen:
- Download en installeer Java OpenJDK versie 6 of 7 (u kunt 8 gebruiken met extra instellingen van de gradle-plug-in)
- Download en installeer Android Studio
- Maak een nieuw project (zie voor hulp een nieuw project maken )
Raadpleeg het gedeelte Opmerkingen voor meer informatie.
Android-plug-in voor Gradle
Zoals beschreven in het gedeelte met opmerkingen gebruikt het Android-buildsysteem de Android-plug-in voor Gradle om het bouwen van Android-applicaties met Gradle te ondersteunen.
U kunt de Android-plug-in voor Gradle-versie opgeven in het build.gradle
. De plug-inversie is van toepassing op alle modules die in dat Android Studio-project zijn gebouwd.
buildscript {
...
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0'
}
}
Grijperwikkelaar
Zoals beschreven in het opmerkingengedeelte kunt u de Gradle-versie opgeven die door elk project wordt gebruikt om de Gradle-distributiereferentie te bewerken in het bestand gradle/wrapper/gradle-wrapper.properties
.
Bijvoorbeeld:
...
distributionUrl = https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
...