Плагин Android Gradle (AGP) — это поддерживаемая система сборки приложений Android, которая включает поддержку компиляции множества различных типов источников и их связывания в приложение, которое можно запускать на физическом устройстве Android или в эмуляторе.
В следующем разделе описывается запланированное развитие DSL и API AGP. По мере появления новых API в стабильных выпусках старые API будут помечены как устаревшие. Эти устаревшие API станут недоступными в следующей стабильной версии. Ниже вы найдете информацию о предстоящих изменениях в каждом основном выпуске AGP.
Более подробный журнал об устаревании или удалении API AGP см. в разделе Обновления API AGP .
AGP 9.0 (середина 2024 г.)
Новые варианты API стабильны, старые API устарели.
- Варианты API , которые находились в стадии разработки в версиях 4.1 и 4.2, стабильны.
- Все эти интерфейсы расположены в артефакте
gradle-api
. - Предыдущие интерфейсы и классы, использовавшиеся в старом Variant API, теперь устарели.
Новые интерфейсы DSL стабильны, старые устарели.
- Интерфейсы DSL , которые находились в стадии разработки в версиях 4.1, 4.2 и 7.0, теперь стабильны.
- Все эти интерфейсы расположены в артефакте
gradle-api
. - Предыдущие интерфейсы и классы, используемые в DSL, теперь устарели.
Частные внутренние классы AGP по-прежнему доступны.
Частные внутренние классы из AGP, расположенные в других артефактах, по-прежнему доступны во время компиляции файлов сборки, но использовать их не рекомендуется, поскольку они могут в любой момент измениться критическим образом.
АГП 10.0 (2025 г.)
Старые API удалены.
- Все предыдущие интерфейсы и классы, используемые в DSL и старом Variant API, удалены .
- Артефакт
gradle-api
— единственный артефакт, который вам нужен для доступа к DSL и вариантам интерфейсов и классов API, и его следует использовать при разработке плагинов. - При использовании метаданных Gradle, которые предлагают различные графики зависимостей для компиляции и выполнения, во время компиляции файлов сборки доступен только артефакт
gradle-api
.
(Предварительно) Доступ к частным внутренним классам AGP удален.
Зависимость от артефакта gradle
теперь скрывает все внутренние классы и предоставляет доступ компиляции только к интерфейсам и классам, доступным в артефакте gradle-api
. Это влияет как на компиляцию плагина, так и на компиляцию файла сборки.
Невозможно вручную добавить зависимость для получения доступа к внутренним классам.