График миграции DSL/API плагина Android Gradle

Android Gradle Plugin (AGP) — это поддерживаемая система сборки для приложений Android, которая включает в себя поддержку компиляции множества различных типов исходных файлов и их объединения в приложение, которое можно запускать на физическом устройстве Android или в эмуляторе.

В следующем разделе описывается запланированное развитие DSL и API AGP. По мере внедрения новых API в стабильных релизах старые API будут помечаться как устаревшие. Эти устаревшие API станут недоступны в следующем стабильном релизе. Ниже вы найдете информацию о предстоящих изменениях в каждом крупном релизе AGP.

Более подробный список устаревших или удаленных функций API AGP см. в разделе « Обновления API AGP» .

AGP 9.0 (январь 2026 г.)

Новые API-интерфейсы для работы с различными вариантами кода являются стабильными, старые API-интерфейсы устарели.

  • Варианты API , находившиеся в стадии разработки в версиях 4.1 и 4.2, являются стабильными.
  • Все эти интерфейсы находятся в артефакте gradle-api .
  • Используемые в старом API вариантов интерфейсы и классы устарели и требуют явного согласия на их использование.

Новые DSL-интерфейсы стабильны, старые устарели.

  • Интерфейсы DSL , находившиеся в стадии разработки в версиях 4.1, 4.2 и 7.0, теперь стабильны.
  • Все эти интерфейсы находятся в артефакте gradle-api .
  • Ранее использовавшиеся в DSL интерфейсы и классы устарели и требуют явного согласия на их использование.

Доступны и частные внутренние занятия по программе AGP.

Внутренние закрытые классы AGP, расположенные в других артефактах, по-прежнему доступны во время компиляции файлов сборки и плагинов, но их использование не рекомендуется, поскольку они могут в любой момент измениться, нарушив совместимость.

AGP 10.0 (конец 2026 г.)

Устаревшие API удалены.

  • Все предыдущие интерфейсы и классы, использовавшиеся в DSL и старом API вариантов, удалены .
  • Артефакт gradle-api — это единственный артефакт, необходимый для доступа к интерфейсам и классам DSL и Variant API, и его следует использовать при разработке плагинов.

(Предварительно) Доступ к закрытым внутренним классам AGP закрыт.

Теперь зависимость от артефакта gradle скрывает все внутренние классы и предоставляет доступ к компиляции только для интерфейсов и классов, доступных в артефакте gradle-api . Это влияет на компиляцию плагинов.

Добавить зависимость для доступа к внутренним классам вручную невозможно.