Linimasa migrasi DSL/API Plugin Android Gradle

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

Plugin Android Gradle (AGP) adalah sistem build yang didukung untuk aplikasi Android dan mencakup dukungan untuk mengompilasi berbagai jenis sumber dan menautkannya ke dalam aplikasi yang dapat Anda jalankan pada perangkat Android fisik atau emulator.

Bagian berikut menjelaskan evolusi yang direncanakan dari DSL dan API AGP. Saat API baru diperkenalkan dalam rilis stabil, API lama akan ditandai sebagai tidak digunakan lagi. API yang tidak digunakan lagi tersebut selanjutnya akan menjadi tidak tersedia dalam rilis stabil berikutnya. Di bawah ini Anda akan menemukan informasi tentang perubahan mendatang di setiap rilis AGP utama.

Untuk mengetahui log penghentian atau penghapusan API AGP yang lebih mendetail, lihat update API AGP.

AGP 8.0 (Pertengahan tahun 2022)

Variant API baru stabil, API lama tidak digunakan lagi

  • Variant API yang diinkubasi di 4.1 dan 4.2 bersifat stabil.
  • Semua antarmuka ini berada di artefak gradle-api.
  • Antarmuka dan class sebelumnya yang digunakan di Variant API versi lama kini tidak digunakan lagi.

Antarmuka DSL baru sudah stabil, antarmuka versi lama tidak digunakan lagi

  • Antarmuka DSL yang diinkubasi di 4.1, 4.2, dan 7.0 sekarang stabil.
  • Semua antarmuka ini berada di artefak gradle-api.
  • Antarmuka dan class sebelumnya yang digunakan dalam DSL kini tidak digunakan lagi.

Saat menulis plugin, sebaiknya hanya bergantung pada artefak gradle-api untuk hanya menggunakan antarmuka dan class baru. Satu pengecualian kecil di sini adalah class plugin yang akan pindah ke gradle-api di 8.0:

Class AGP internal pribadi masih dapat diakses

Class internal pribadi dari AGP, yang berada di artefak lain, masih dapat diakses selama kompilasi file build berlangsung, tetapi tidak direkomendasikan untuk menggunakannya karena dapat berubah dengan cara yang dapat menyebabkan gangguan kapan saja.

AGP 9.0 (Paruh pertama tahun 2023)

API lama dihapus

  • Semua antarmuka dan class sebelumnya yang digunakan di DSL dan Variant API lama dihapus.
  • Artefak gradle-api adalah satu-satunya artefak yang Anda perlukan untuk mengakses antarmuka dan class DSL dan Variant API, dan harus digunakan saat mengembangkan plugin.
  • Dengan menggunakan metadata Gradle, yang menawarkan grafik dependensi berbeda untuk kompilasi dan runtime, hanya artefak gradle-api yang tersedia selama kompilasi file build berlangsung.

(Tentatif) Akses ke class AGP internal pribadi dihapus

Dependensi pada artefak gradle sekarang menyembunyikan semua class internal dan memberikan akses kompilasi hanya ke antarmuka dan class yang tersedia di artefak gradle-api. Hal ini memengaruhi kompilasi file build dan plugin.

Tidak memungkinkan bagi Anda untuk menambahkan dependensi secara manual untuk mendapatkan akses ke class internal.