

Until you change a resource file and that will cause a recompile that takes a few minutes. So yes - We have a huge project with millions of lines of code that recompiles changes in Java/Kotlin code in less than 10 seconds. Consider this an equivalent of changing a popular header file in C++ - that will also cause a cascading compile that can take a long time.

This usually causes a cascade of Java/Kotlin compilation as well, since R IDs can change and any file using the R id needs to also be recompiled. However, due to how the resource system works on Android, any kind of change in a resource XML will require ALL resource modules to be recompiled and a new resources output file to be created.

In gradle, is it even possible say a semicolon change in implementation in a super large project takes less than 10 seconds? Why or why not?Ĭhanges in Java/Kotlin sources can usually be compiled incrementally (or at least, on the level of a single class). Then it goes to the linker phase which typically is slowest phase of all. In C++ world, where you make a small change like adding a semicolon in c++ implementation file, it typically builds only the cpp file that has changed which takes like less than a second. Gradle itself isn't all that slow, but there are steps in Android application build process that take a long time and can cause long build times. Is android gradle build actually slow? Or is it mostly due to poor developer work/maintenance?
