Catatan rilis plugin Android Gradle 8.3

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 sistem Gradle lainnya) dapat berjalan secara independen dari Android Studio dan 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 umum tentang perubahan yang dapat menyebabkan gangguan pada plugin Android Gradle, lihat panduan 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.3.0 dari file build.gradle.kts:

Kotlin

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

Groovy

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

Perhatian: Anda tidak boleh menggunakan dependensi dinamis dalam nomor versi, misalnya 'com.android.tools.build:gradle:8.3.+'. 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 buat 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.4 (alfa)8.6 RC-1
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 direkomendasikan adalah menggunakan alat command line Gradle Wrapper, yang mengupdate skrip gradlew. Contoh berikut menetapkan versi Gradle ke 8.3 menggunakan Gradle Wrapper. Perhatikan bahwa Anda harus menjalankan perintah ini dua kali untuk mengupgrade Gradle dan Wrapper Gradle itu sendiri (untuk mengetahui informasi selengkapnya, lihat Mengupgrade Gradle Wrapper).

gradle wrapper --gradle-version 8.3

Namun, proses 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.3 dalam file gradle-wrapper.properties.

...
distributionUrl = https\://services.gradle.org/distributions/gradle-8.3-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
Ubur-ubur | 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
Electric Eel | 2022.1.1 3.2-7.4

Versi lama

Versi Android Studio Versi AGP yang diperlukan
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 VanillaIceCream Ubur-ubur | 2023.3.1 8.4
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.3 adalah API level 34. Berikut adalah info kompatibilitas lainnya:

Versi minimum Versi default Catatan
Gradle 8.4 8.4 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 25.1.8937393 Instal atau konfigurasi versi lain dari NDK.
JDK 17 17 Untuk mempelajari lebih lanjut, lihat menyetel versi JDK.

Berikut adalah fitur baru di plugin Android Gradle 8.3.

Rilis patch

Berikut adalah daftar rilis patch di Android Studio Iguana dan plugin Android Gradle 8.3.

Android Studio Iguana | 2023.2.1 Patch 1 dan AGP 8.3.1 (Maret 2024)

Update minor ini mencakup perbaikan bug ini.

Dukungan untuk Katalog Versi Gradle

Android Studio mendukung Katalog Versi Gradle berbasis TOML, sebuah fitur yang memungkinkan Anda mengelola dependensi di satu lokasi pusat dan berbagi dependensi antar-modul atau project. Android Studio kini mempermudah konfigurasi katalog versi melalui saran editor dan integrasi dengan dialog Project Structure. Pelajari cara menyiapkan dan mengonfigurasi Katalog Versi Gradle atau cara memigrasikan build ke katalog versi.

Pelengkapan kode dan navigasi

Android Studio menawarkan pelengkapan kode saat Anda mengedit katalog versi dalam format file TOML atau menambahkan dependensi dari katalog versi ke file build. Untuk menggunakan pelengkapan kode, tekan Ctrl+Spasi (Command+Spasi di macOS). Selain itu, Anda dapat dengan cepat beralih dari referensi dependensi dalam file build.gradle aplikasi ke tempat yang dideklarasikan dalam katalog versi dengan menekan Ctrl+b (Command+b di macOS).

Pelengkapan kode saat menambahkan dependensi

Integrasi dengan dialog Project Structure

Jika project menggunakan katalog versi yang ditentukan dalam format file TOML, Anda dapat mengedit variabel yang telah ditentukan di sana melalui tampilan dialog Project Structure Variables (File > Project Structure > Variables) di Android Studio. Untuk setiap katalog versi, ada menu drop-down yang mencantumkan variabel dari katalog tersebut. Untuk mengedit variabel, klik nilainya dan timpa. Saat Anda menyimpan perubahan ini, file TOML akan diperbarui sebagaimana mestinya.

Variabel dari katalog versi di dialog Project Structure

Anda juga dapat memperbarui dependensi dalam dialog Project Structure tampilan Dependencies (File > Project Structure > Dependencies). Untuk memperbarui versi menggunakan dialog Project Structure, buka modul dan dependensi yang ingin Anda edit, lalu perbarui kolom Request Version. Saat Anda menyimpan perubahan ini, file TOML akan diperbarui. Perhatikan bahwa jika versi dependensi ditentukan menggunakan variabel, mengupdate versi secara langsung dengan cara ini akan mengganti variabel dengan nilai hardcode. Perlu diketahui juga bahwa menghapus dependensi dari file build, baik Anda menggunakan dialog Project Structure atau tidak, tidak akan menghapus dependensi dari katalog versi.

Dependensi dari katalog versi dalam dialog Project Structure

Masalah umum dan batasan

Berikut adalah masalah umum atau batasan terkait dukungan Katalog Versi Gradle di Android Studio.

  • Terjadi error saat menandai deklarasi alias plugin di file skrip Kotlin: saat Anda menambahkan deklarasi plugin dari formulir alias(libs.plugins.example), editor akan menambahkan garis bawah berwarna merah di bagian libs. Ini adalah masalah umum pada Gradle versi 8.0 dan yang lebih lama, serta akan diatasi dalam rilis Gradle mendatang.

  • Android Studio hanya mendukung katalog versi dalam format TOML: saat ini dukungan dialog penyelesaian kode, navigasi, dan Project Structure Android Studio hanya tersedia untuk katalog versi yang ditentukan dalam format file TOML. Namun, Anda tetap dapat menambahkan katalog versi secara langsung dalam file settings.gradle dan menggunakan dependensinya dalam project.

  • Navigasi untuk file build KTS tidak didukung: membuka definisi dependensi dalam katalog versi menggunakan Control+klik (Command+klik di macOS) belum didukung untuk file build yang ditulis menggunakan skrip Kotlin.

  • Firebase Assistant menambahkan dependensi secara langsung dalam skrip build: Firebase Assistant menambahkan dependensi secara langsung ke skrip build Anda, bukan melalui katalog versi.

  • Fungsi "Find usages" tidak didukung: menemukan penggunaan variabel katalog versi dalam file build lain belum didukung, baik file build berada di KTS atau Groovy. Artinya, penggunaan Control+klik (Command+klik di macOS) pada definisi variabel dalam katalog versi tidak mengarah pada file build tempat variabel digunakan.

  • Dialog Project Structure di Android Studio menampilkan beberapa file katalog jika berada dalam folder gradle root, tetapi tidak menampilkan katalog untuk build gabungan. Misalnya, jika Anda memiliki dua file katalog, satu untuk aplikasi dan satu untuk build gabungan, dialog Project Structure hanya akan menampilkan file katalog aplikasi. Anda dapat menggunakan build gabungan, tetapi Anda harus mengedit file TOML-nya secara langsung.

Insight SDK tambahan: masalah kebijakan

Android Studio menampilkan peringatan lint dalam file build.gradle.kts dan build.gradle serta di Dialog Struktur Project untuk SDK publik yang memiliki pelanggaran kebijakan Play di Google Play SDK Index. Anda harus memperbarui dependensi apa pun yang melanggar kebijakan Play karena pelanggaran ini dapat mencegah Anda memublikasikan ke Konsol Google Play pada masa mendatang. Peringatan pelanggaran kebijakan melengkapi peringatan versi usang yang ditampilkan oleh Android Studio.

Dukungan versi compileSdk Android Studio

Android Studio menampilkan peringatan jika project Anda menggunakan compileSdk yang tidak didukung oleh versi Android Studio saat ini. Jika tersedia, sebaiknya beralih ke versi Android Studio yang mendukung compileSdk yang digunakan oleh project Anda. Perhatikan bahwa mengupgrade Android Studio mungkin juga mengharuskan Anda mengupgrade AGP. AGP juga menampilkan peringatan di jendela alat Build jika compileSdk yang digunakan oleh project Anda tidak didukung oleh versi AGP saat ini.

Perubahan perilaku lint

Mulai dari plugin Android Gradle 8.3.0-alpha02, saat menjalankan lint pada modul, tugas analisis lint terpisah akan dijalankan untuk komponen utama dan pengujian modul. Alasan untuk perubahan ini adalah untuk meningkatkan performa. Untuk kembali ke perilaku sebelumnya, tetapkan android.experimental.lint.analysisPerComponent=false di file gradle.properties Anda.

Penyingkatan resource yang akurat aktif secara default

Penyingkatan resource yang tepat, yang menghapus entri yang tidak digunakan dari file resources.arsc dan menghilangkan file resource yang tidak digunakan, diaktifkan secara default. Jika penyingkatan ini diaktifkan, tabel resource Anda akan dikurangi dan hanya entri folder res yang direferensikan yang akan disertakan dalam APK.

Untuk menonaktifkan penyingkatan resource yang akurat, tetapkan android.enableNewResourceShrinker.preciseShrinking ke false dalam file gradle.properties project Anda.