Googel 現在把所有的安卓組件都做成套件的形式,讓你想裝什麼就裝什麼,統稱 Android Jetpack,如果是以前的話是不用特別教套件怎麼安裝,可是到 Gradle 7.0 後,有些套件的存放位置和之前比起來有些不同,所以為了之後方便教學,先用這篇把 safeargs.kotlin 和 kotlinx.serialization 的套件裝好,還有一些簡單的設定。
至於什麼是 safeargs.kotlin 和 kotlinx.serialization
除了原本的 android.application、android.library、jetbrains.kotlin.android 外,還要安裝 safeargs.kotlin 和 kotlinx.serialization,可以把下面的程式碼全選複製貼上到 build.gradle(Project: 你的應用程式名稱)
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
id 'com.android.application' version '7.1.3' apply false
id 'com.android.library' version '7.1.3' apply false
id 'org.jetbrains.kotlin.android' version '1.6.20' apply false
id 'androidx.navigation.safeargs.kotlin' version '2.4.2' apply false
id 'org.jetbrains.kotlin.plugin.serialization' version '1.6.21'
}
task clean(type: Delete) {
delete rootProject.buildDir
}
這個就分成很多區塊,分別是
還要新增三個套件,分別是
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
id 'androidx.navigation.safeargs.kotlin'
id 'org.jetbrains.kotlin.plugin.serialization'
id 'org.jetbrains.kotlin.kapt'
}
因為我習慣語意化版本號,所以「versionName "1.0"」改成「versionName "0.0.1"」
還有之後要用資料綁定功能,所以額外新增「dataBinding true」的設定
android {
defaultConfig {
versionName "0.0.1"
}
buildFeatures {
dataBinding true
}
}
從網路上找到的套件就會放在這邊,例如我們要安裝資料庫套件「Room」,就會像下面這樣
dependencies {
kapt "androidx.room:room-compiler:2.4.3"
implementation "androidx.room:room-runtime:2.4.3"
implementation "androidx.room:room-ktx:2.4.3"
testImplementation "androidx.room:room-testing:2.4.3"
}
複製 buildscript 的內容貼到 dependencyResolutionManagement 裡面就好
dependencyResolutionManagement {
buildscript {
dependencies {
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.6.0-alpha01"
classpath "org.jetbrains.kotlin:kotlin-serialization:1.6.21"
}
}
}
這樣基本的設定就完成囉