การอัปเดต Gradle และปลั๊กอิน Android Gradle
อัปเกรดเวอร์ชัน Gradle และปลั๊กอิน Android Gradle
ก่อนอื่น ให้อัปเกรดเวอร์ชัน Gradle และปลั๊กอิน Android Gradle การอัปเกรดนี้ช่วยเพิ่มความเข้ากันได้กับ SDK ที่ต้องพึ่งพาบางรายการ (รวมถึง Kotlin 1.9) รวมถึงแก้ไขข้อบกพร่องร้ายแรงบางรายการ
เวอร์ชันหลักของ SDK นี้กำหนดให้โปรเจ็กต์แอปพลิเคชัน Android ของคุณใช้ทรัพยากร Dependency เวอร์ชันต่อไปนี้
- Gradle เวอร์ชันอย่างน้อย v7.5.0 แต่ไม่เกิน v7.6.0
- ปลั๊กอิน Android Gradle (AGP) เวอร์ชันในช่วง v7.4.x
คุณสามารถกําหนดเป้าหมายปลั๊กอินเวอร์ชันที่ใหม่กว่าได้ แต่คุณอาจเห็นคําเตือนการเลิกใช้งาน หรือฟีเจอร์ใหม่บางรายการอาจไม่ทํางาน
หากต้องการแก้ไขเวอร์ชัน Gradle ให้แก้ไขบรรทัดในไฟล์
/gradle/wrapper/gradle-wrapper.properties
ของโปรเจ็กต์
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip
หากต้องการแก้ไขเวอร์ชันปลั๊กอิน Android Gradle ให้แก้ไขไฟล์ build.gradle
ที่มีบล็อก buildscript
เช่น
buildscript {
repositories {
google()
mavenCentral()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.4.1'
}
}
การย้ายข้อมูลการสนับสนุนไลบรารีจาก Java 7 ไปยัง Java 8
ขั้นตอนที่ 1 - เปิดใช้การรองรับไลบรารี Java 8
เนื่องจากระดับ API ขั้นต่ำของ SDK คือ 23 และเวอร์ชัน AGP ที่จำเป็นคือ 7.4 ขึ้นไป การกําหนดค่าจึงแตกต่างจากเอกสารประกอบแหล่งที่มาที่กล่าวถึงเล็กน้อย
buildscript {
repositories {
google()
mavenCentral()
jcenter()
maven {
url = uri("https://storage.googleapis.com/r8-releases/raw")
}
}
dependencies {
classpath 'com.android.tools:r8:8.0.46'
classpath 'com.android.tools.build:gradle:7.4.1'
}
}
android {
compileOptions {
// Flag to enable support for the new language APIs
coreLibraryDesugaringEnabled true
// Sets Java compatibility to Java 8
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs_nio:2.0.3'
}
ขั้นตอนที่ 2 - ย้ายข้อมูลจาก Proguard หรือ Dexguard ไปยัง R8
AGP v7.4 ขึ้นไปใช้ R8 เป็นเครื่องมือบีบอัด สร้างความสับสน และเพิ่มประสิทธิภาพเริ่มต้นสำหรับไบนารี คุณจึงไม่ต้องดำเนินการพิเศษใดๆ ในตอนนี้
หากย้ายข้อมูลโปรเจ็กต์จาก AGP 4.0 ขึ้นไป AGP อาจแสดงคำเตือนต่อไปนี้เกี่ยวกับการนำไฟล์ออก
- การใช้งาน
useProguard true
ในไฟล์build.gradle
- การใช้งาน
android.enableR8=false
ในไฟล์gradle.properties
การนําบรรทัดเหล่านี้ออกมักจะช่วยแก้ปัญหาเหล่านั้นได้
การย้ายข้อมูล Kotlin 1.6 เป็น 1.9
ขั้นตอนที่ 1 - ย้ายข้อมูลไปยังปลั๊กอิน Kotlin Gradle 1.9.0
อัปเดตเวอร์ชันปลั๊กอิน Kotlin Gradle ในไฟล์ build.gradle ระดับโมดูลบนสุดของแอปพลิเคชัน อย่าลืมเพิ่ม org.jetbrains.kotlin:kotlin-gradle-plugin
ในการพึ่งพาจากบล็อก buildscript ในกรณีที่ไม่มี
buildscript {
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.0"
}
}
คุณต้องย้ายข้อมูลแอปพลิเคชันจาก Kotlin-synthetics ในกรณีที่คุณมาจาก Kotlin Gradle Plugin 1.6.X หรือ 1.7.X ดูข้อมูลเพิ่มเติมได้จากคำแนะนำในการย้ายข้อมูลอย่างเป็นทางการ
ขั้นตอนที่ 2 - อัปเกรด kotlin-stdlib เป็น 1.9.0
อัปเกรด kotlin-stblib
เป็น 1.9.0 ในไฟล์ build.gradle ของแอปพลิเคชัน
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:1.9.0"
}
โปรดนำการอ้างอิงถึง kotlin-stdlib-jdk7
หรือ
kotlin-stdlib-jdk8
ออก เราได้รวม Dependency ทั้ง 2 รายการเข้าเป็น kotlin-stdlib
แล้วตั้งแต่ Kotlin 1.8.0