B.3 Integration in Projekte 

Damit Sie Jetpack Compose in Ihren Projekten verwenden können, müssen in den beiden build.gradle-Dateien einige Einträge und Elemente vorhanden sein. Welche dies sind, zeige ich Ihnen in diesem Abschnitt.
B.3.1 Nur ab Kotlin 1.4 

Stellen Sie als Erstes bitte sicher, dass Sie mindestens Kotlin 1.4.10 verwenden. In der projektübergreifenden build.gradle-Datei sollten in buildscript { ... } folgende Zeilen auftauchen:
ext {
compose_version = '1.0.0-alpha04'
}
ext.kotlin_version = "1.4.10"
Listing B.5 Auszug aus der projektübergreifenden »build.gradle«-Datei
Zum Zeitpunkt der Drucklegung ist die Entwicklung von Jetpack Compose noch in vollem Gange. Die hier enthaltenen Versionsnummern sind deshalb mit großer Wahrscheinlichkeit nicht mehr aktuell. Auch beim Öffnen des Projekts aus den Begleitmaterialien kann es zu Fehlermeldungen wie »The project is using an incompatible version ... of the Android Gradle plugin.« kommen. Folgen Sie in solchen Fällen bitte der Aufforderung zur Aktualisierung.
B.3.2 Modulspezifische »build.gradle«-Datei 

Um Jetpack Compose einsetzen zu können, muss das ausführende Gerät mindestens API-Level 21 unterstützen. Ferner müssen sowohl der Java- als auch der Kotlin-Compiler für Java 8 konfiguriert sein. Diese und alle weiteren relevanten Einstellungen sind in Listing B.6 zu sehen.
android {
defaultConfig {
...
minSdkVersion 21
}
buildFeatures {
compose true
}
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
useIR = true
}
...
}
Listing B.6 Auszug aus der modulspezifischen »build.gradle«-Datei
Zu guter Letzt müssen Sie im Bereich dependencies { ... } eine Reihe von Abhängigkeiten definieren. Sofern es neue Versionen einer Bibliothek gibt, macht Sie Android Studio zum Glück darauf aufmerksam.
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'androidx.core:core-ktx:1.3.2'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.2.1'
implementation "androidx.compose.ui:ui:$compose_version"
implementation "androidx.compose.material:material:$compose_version"
implementation "androidx.ui:ui-tooling:$compose_version"
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.0-beta01'
testImplementation 'junit:junit:4.13'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
Listing B.7 Benötigte Bibliotheken