Статья о том как Google старается улучшить скорость сборки приложения в Android Studio (AS), хотя не совсем это получается по результатам работы на разных проектах. Причин этому несколько: 👉Рост кодовой базы 👉Spectre и Meltdown патчи снизили скорость процессоров 👉Сторонние и собственные Gradle плагины, которые не поддерживают API последних версий Gradle, позволяющих ускорить сборку 👉Использование Java 8 - приводит к работе desugar, что увеличивает время сборки. D8 и R8 позволяют снизить негативный эффект. 👉Использование Kotlin, в особенности Kotlin annotation processing (KAPT), влияет на сборку 👉 Множество библиотек, построенных на Android Support Library, и требующих работы Jetifier при использование AndroidX библиотек
Для того чтобы решить проблемы Google активно работает с Gradle и JetBrains.
Как исправить положение дел в вашем проекте: 👉 Анализируйте производительность сборки вашего проекта с помощью Gradle Scan или Gradle profiler 👉 Используйте Gradle Lazy API, избегайте использовать I/O или любых других длительных операций 👉 Настраивайте все task-и в фазе конфигурации 👉 Настраивайте входные и выходные файлы/папки, чтобы ваши результат task-ов могли кэшироваться 👉 Разделяйте большие task-и на более мелкие, чтобы они могли кэшироваться независимо и выполняться инкрементально 👉 Убедитесь что один task не затирает результаты другого 👉 Используйте языки со статической типизацией (Java/Kotlin) вместо динамически типизируемых (Groovy) для написания ваших плагинов и Gradle скриптов