Catatan rilis plugin Android Gradle 8.7

Repositori JCenter menjadi hanya baca pada tanggal 31 Maret 2021. Untuk informasi selengkapnya, lihat pembaruan layanan JCenter.

Sistem build Android Studio didasarkan pada Gradle. Plugin Android Gradle menambahkan beberapa fitur yang dikhususkan untuk mem-build aplikasi Android. Meskipun plugin Android Gradle (AGP) biasanya diupdate secara bersamaan dengan Android Studio, plugin ini (dan seluruh sistem Gradle) dapat berjalan secara independen dari Android Studio dan dapat diupdate secara terpisah.

Halaman ini menjelaskan cara menjaga alat Gradle Anda agar selalu update dan apa saja yang ada pada update terbarunya. Untuk catatan rilis versi plugin Android Gradle sebelumnya, lihat catatan rilis sebelumnya.

Untuk melihat apa yang telah diperbaiki dalam versi plugin Android Gradle ini, lihat masalah yang ditutup.

Untuk ringkasan tingkat tinggi tentang perubahan yang dapat menyebabkan gangguan pada plugin Android Gradle, lihat roadmap plugin Android Gradle.

Untuk mengetahui detail cara mengonfigurasi build Android dengan Gradle, lihat halaman berikut:

Untuk informasi sistem build Gradle selengkapnya, lihat Panduan pengguna Gradle.

Mengupdate plugin Android Gradle

Saat mengupdate Android Studio, Anda mungkin menerima permintaan untuk otomatis mengupdate plugin Android Gradle ke versi terbaru yang tersedia. Anda dapat memilih untuk menerima update atau menentukan versi secara manual berdasarkan persyaratan build project.

Anda dapat menentukan versi plugin di menu File > Project Structure > Project di Android Studio, atau dalam file build.gradle.kts level teratas. Versi plugin berlaku untuk semua modul yang dibuat di project Android Studio tersebut. Contoh berikut menetapkan plugin ke versi 8.7.0 dari file build.gradle.kts:

Kotlin

plugins {
    id("com.android.application") version "8.7.0" apply false
    id("com.android.library") version "8.7.0" apply false
    id("org.jetbrains.kotlin.android") version "2.0.20" apply false
}

Groovy

plugins {
    id 'com.android.application' version '8.7.0' apply false
    id 'com.android.library' version '8.7.0' apply false
    id 'org.jetbrains.kotlin.android' version '2.0.20' apply false
}

Perhatian: Anda tidak boleh menggunakan dependensi dinamis dalam nomor versi, seperti 'com.android.tools.build:gradle:8.7.+'. Penggunaan fitur ini dapat menyebabkan update versi yang tidak terduga dan kesulitan untuk mengatasi perbedaan versi.

Jika versi plugin yang ditentukan belum didownload, Gradle akan mendownloadnya pada project yang Anda build selanjutnya, atau klik File > Sync Project with Gradle Files dari panel menu Android Studio.

Mengupdate Gradle

Saat mengupdate Android Studio, Anda mungkin menerima permintaan untuk mengupdate juga Gradle ke versi terbaru yang tersedia. Anda dapat memilih untuk menerima update atau menentukan versi secara manual berdasarkan persyaratan build project.

Tabel berikut mencantumkan versi Gradle yang diperlukan untuk setiap versi plugin Android Gradle. Agar performanya optimal, Anda harus menggunakan Gradle dan plugin versi terbaru.

Versi pluginVersi Gradle minimum yang diperlukan
8,78,9
8,68,7
8,58,7
8.48,6
8.38.4
8.28.2
8.18.0
8.08.0
7.47,5

Versi lama

Versi pluginVersi Gradle yang diperlukan
7.37.4
7.27.3.3
7.17.2
7,07,0
4.2.0+6.7.1
4.1.0+6.5+
4.0.0+6.1.1+
3.6.0 - 3.6.45.6.4+
3.5.0 - 3.5.45.4.1+
3.4.0 - 3.4.35.1.1+
3.3.0 - 3.3.34.10.1+
3.2.0 - 3.2.14.6+
3.1.0+4.4+
3.0.0+4.1+
2.3.0+3.3+
2.1.3 - 2.2.32.14.1 - 3.5
2.0.0 - 2.1.22.10 - 2.13
1.5.02.2.1 - 2.13
1.2.0 - 1.3.12.2.1 - 2.9
1.0.0 - 1.1.32.2.1 - 2.3

Anda dapat menentukan versi Gradle di menu File > Project Structure > Project di Android Studio, atau mengupdate versi Gradle menggunakan command line. Cara yang lebih disarankan adalah menggunakan alat command line Gradle Wrapper, yang mengupdate skrip gradlew. Contoh berikut menetapkan versi Gradle ke 8.7 menggunakan Wrapper Gradle. Perhatikan bahwa Anda perlu menjalankan perintah ini dua kali untuk mengupgrade Gradle dan Wrapper Gradle itu sendiri (untuk informasi selengkapnya, lihat Mengupgrade Wrapper Gradle).

gradle wrapper --gradle-version 8.7

Namun, hal ini mungkin gagal dalam beberapa kasus, misalnya jika Anda baru saja mengupdate AGP dan tidak lagi mematuhi versi Gradle saat ini. Dalam hal ini, Anda perlu mengedit referensi distribusi Gradle dalam file gradle/wrapper/gradle-wrapper.properties. Contoh berikut menetapkan versi Gradle ke 8.7 dalam file gradle-wrapper.properties.

...
distributionUrl = https\://services.gradle.org/distributions/gradle-8.7-bin.zip
...

Kompatibilitas Android Studio dan plugin Android Gradle

Sistem build Android Studio didasarkan pada Gradle. Plugin Android Gradle (AGP) menambahkan beberapa fitur yang dikhususkan untuk membangun aplikasi Android. Tabel berikut mencantumkan versi AGP yang diperlukan untuk setiap versi Android Studio.

Versi Android Studio Versi AGP yang diperlukan
Ladybug | 2024.2.1 3.2-8.7
Update Fitur Baru Koala | 2024.1.2 3.2-8.6
Koala | 2024.1.1 3.2-8.5
Jellyfish | 2023.3.1 3.2-8.4
Iguana | 2023.2.1 3.2-8.3
Hedgehog | 2023.1.1 3.2-8.2
Giraffe | 2022.3.1 3.2-8.1
Flamingo | 2022.2.1 3.2-8.0

Versi lama

Versi Android Studio Versi AGP yang diperlukan
Electric Eel | 2022.1.1 3.2-7.4
Dolphin | 2021.3.1 3.2-7.3
Chipmunk | 2021.2.1 3.2-7.2
Bumblebee | 2021.1.1 3.2-7.1
Arctic Fox | 2020.3.1 3.1-7.0

Untuk mendapatkan informasi tentang hal yang baru dalam plugin Android Gradle, lihat catatan rilis plugin Android Gradle.

Versi minimum alat untuk level API Android

Ada versi minimum Android Studio dan AGP yang mendukung level API tertentu. Menggunakan versi Android Studio atau AGP yang lebih rendah dari yang diperlukan oleh targetSdk atau compileSdk project Anda dapat menyebabkan masalah yang tidak terduga. Sebaiknya gunakan versi pratinjau terbaru Android Studio dan AGP untuk mengerjakan project yang menargetkan versi pratinjau Android OS. Anda dapat menginstal versi pratinjau Android Studio bersama dengan versi stabil.

Versi minimum Android Studio dan AGP adalah sebagai berikut:

Level API Versi Android Studio minimum Versi AGP minimum
Pratinjau Baklava Meerkat | 2024.3.1 8.9.0
35 Update Fitur Baru Koala | 2024.2.1 8.6.0
34 Hedgehog | 2023.1.1 8.1.1
33 Flamingo | 2022.2.1 7.2

Perubahan pembuatan versi (November 2020)

Kami memperbarui penomoran versi untuk plugin Android Gradle (AGP) agar lebih cocok dengan alat build Gradle yang mendasarinya.

Berikut adalah perubahan penting:

  • AGP sekarang akan menggunakan pembuatan versi semantik, dan perubahan yang dapat menyebabkan gangguan akan ditargetkan untuk rilis utama.

  • Satu versi utama AGP akan dirilis per tahun, sejalan dengan rilis utama Gradle.

  • Rilis setelah AGP 4.2 adalah versi 7.0 dan akan memerlukan upgrade ke Gradle versi 7.x. Setiap rilis utama AGP akan memerlukan upgrade versi utama di alat Gradle yang mendasarinya.

  • API tidak akan digunakan lagi sekitar satu tahun sebelumnya, dengan fungsi penggantian yang tersedia secara bersamaan. API yang tidak digunakan lagi akan dihapus sekitar satu tahun kemudian selama update utama berikutnya.

Kompatibilitas

API level maksimum yang didukung plugin Android Gradle 8.6 adalah API level 34. Berikut info kompatibilitas lainnya:

Versi minimum Versi default Catatan
"Gradle" 8,9 8,9 "Untuk mempelajari lebih lanjut, lihat mengupdate Gradle".
SDK Build Tools 34.0.0 34.0.0 Instal atau konfigurasi SDK Build Tools.
NDK T/A 27.0.12077973 "Instal atau konfigurasi versi lain dari NDK."
JDK 17 17 "Untuk mempelajari lebih lanjut, lihat menyetel versi JDK."

Perubahan perilaku lint

Mulai Plugin Android Gradle 8.7.0-alpha08, jika ada LintError saat menjalankan lint menggunakan Gradle, tugas analisis lint akan menampilkan pengecualian. Perubahan ini mencegah error yang jarang terjadi di-cache dalam cache build.

Sayangnya, perubahan ini merusak build untuk project dengan instance LintError asli dalam file dasar pengukuran lint. Pesan error berisi informasi tentang pemeriksaan lint yang menyebabkan masalah. Dalam beberapa kasus, mengupdate dependensi library yang sesuai dapat menyelesaikan masalah. Jika tidak, Anda dapat menonaktifkan pemeriksaan lint yang bermasalah hingga penulis library memperbaikinya.

Perbaikan masalah

Plugin Android Gradle 8.7.0

Perbaikan Masalah
Plugin Android Gradle
AGP harus mengklaim bahwa AGP mendukung API 35 yang akan segera dikirim
AGP 8.5: Lebih banyak tugas "mergeDebugResources" yang dijalankan, sehingga memperlambat build
Membuat ndk 27 menjadi NDK default di AGP.
AGP harus mengklaim bahwa AGP mendukung API 35 yang akan segera dikirim
AGP harus mengklaim bahwa AGP mendukung API 35 yang akan segera dikirim
Menjalankan lint Android gagal dengan NoSuchFileException
BuildType#initWith menyalin blok pascapemrosesan, tetapi konfigurasi proguard tidak diterapkan
Tidak dapat menggabungkan untuk tag foregroundServiceType
Menjalankan lint Android gagal dengan NoSuchFileException
Lint
Lint harus memeriksa objek yang tidak valid yang digunakan sebagai ViewGroup
"android:host is missing" untuk URI dengan host null
Inkompatibilitas KtAnalysisSessionProvider dengan pemeriksaan lint yang diperkenalkan di 8.7.0-alpha04
"Positif palsu" WrongConstant saat menggunakan PackageManager.ResolveInfoFlags.of dengan Kotlin

Plugin Android Gradle 8.7.1

Perbaikan Masalah
Plugin Android Gradle
Dokumen agp memiliki banyak TBD
Lint
AGP 8.6.1: Regresi - Kegagalan lint WrongConstant saat menggunakan [Int].toLong() di dalam @LongDef di Kotlin
Error lint "Minimal satu host harus ditentukan" saat menetapkan skema filter intent http atau https

Plugin Android Gradle 8.7.2

Perbaikan Masalah
Lint
AGP 8.7.0 - Lint Positive Palsu RestrictedApi di NavOptionsBuilder.popUpTo
Penyingkat (R8)
[R8 8.6.27] Implementasi metode diganti dengan `throw null`
File proguard android default menampilkan peringatan saat digunakan dengan Versi R8 saat ini
MissingStartupProfileItemsDiagnostic membuat klien Gradle mengalami error kehabisan memori jika pesan terlalu besar

Plugin Android Gradle 8.7.3

Perbaikan Masalah
Lint
Banyak peringatan metode API analisis yang tidak ada saat menjalankan lint
Pemeriksaan lint positif palsu android.permission.SCHEDULE_EXACT_ALARM hanya diberikan ke aplikasi sistem