Harmonogram migracji DSL/API wtyczki Androida do obsługi Gradle

Projekt: /studio/_project.yaml Książka: /studio/_book.yaml Opis: Ta strona opisuje planowaną ewolucję języka DSL i interfejsu API wtyczki Androida do obsługi Gradle.

Wtyczka Android Gradle (AGP) to obsługiwany system kompilacji aplikacji na Androida. Obejmuje on obsługę kompilowania wielu różnych typów źródeł i łączenia ich w aplikację, którą można uruchomić na fizycznym urządzeniu z Androidem lub w emulatorze.

W tej sekcji opisujemy planowaną ewolucję DSL i interfejsu API usługi AGP. Wraz z wprowadzaniem nowych interfejsów API w stabilnych wersjach stare interfejsy będą oznaczane jako wycofane. Wycofane interfejsy API staną się niedostępne w następnej stabilnej wersji. Poniżej znajdziesz informacje o nadchodzących zmianach w każdej głównej wersji AGP.

Pełny wykaz wycofanych i usuniętych interfejsów AGP API znajdziesz w artykule Aktualizacje interfejsu AGP API.

AGP 9.0 (druga połowa 2025 r.)

Nowe interfejsy API dla wariantów są stabilne, a stare interfejsy API zostały wycofane

  • Interfejsy API wariantów, które były testowane w wersjach 4.1 i 4.2, są stabilne.
  • Wszystkie te interfejsy znajdują się w artefakcie gradle-api.
  • Wcześniejsze interfejsy i klasy używane w starym interfejsie Variant API zostały wycofane.

Nowe interfejsy DSL są stabilne, a stare zostały wycofane

  • Interfejsy DSL, które były dostępne w wersjach 4.1, 4.2 i 7.0, są teraz stabilne.
  • Wszystkie te interfejsy znajdują się w artefakcie gradle-api.
  • Wcześniejsze interfejsy i klasy używane w języku DSL zostały wycofane.

Prywatne wewnętrzne zajęcia AGP są nadal dostępne

Prywatne wewnętrzne klasy z AGP, znajdujące się w innych artefaktach, są nadal dostępne podczas kompilowania plików kompilacji, ale nie zaleca się ich używania, ponieważ mogą one w dowolnym momencie ulec zmianom.

AGP 10.0 (2026)

Stare interfejsy API są usuwane

  • Wszystkie poprzednie interfejsy i klasy używane w DSL oraz starym interfejsie API dla wariantów zostały usunięte.
  • Element gradle-api jest jedynym elementem, którego potrzebujesz do uzyskiwania dostępu do interfejsów i klas API DSL i wariantów. Należy go używać podczas tworzenia wtyczek.
  • Korzystając z metadanych Gradle, które oferują różne wykresy zależności na potrzeby kompilacji i czasu wykonywania, podczas kompilowania plików kompilacji dostępny jest tylko artefakt gradle-api.

(Wstępnie) Usunięcie dostępu do prywatnych wewnętrznych klas AGP

Zależność od artefaktu gradle teraz ukrywa wszystkie wewnętrzne klasy i daje dostęp do kompilacji tylko do interfejsów i klas dostępnych w artefakcie gradle-api. Dotyczy to zarówno kompilacji wtyczki, jak i kompilacji plików.

Nie można ręcznie dodawać zależności, aby uzyskać dostęp do wewnętrznych klas.