Make Your Build Great Again
summary
Optimizes a large multi‑dex Android build for Yammer by changing Gradle properties, plugin versions and JVM args, enabling Gradle build cache, using parallel test workers, switching tests to Genymotion, toggling pre‑dex on CI, trimming repositories and dynamic deps, forcing support libs, and enabling the D8 dexer and Java 8. CI cold builds fall from ~18 to ~11 minutes (~40% faster); merging some modules saves ~2 minutes more, and Gradle Profiler / scans confirm the improvements.
AI-written summary · about
chapters (39)
- 0:00Intro
- 1:53What can we optimize
- 4:28Gradle properties
- 12:25Plugins
- 13:07Configuration Time
- 14:26Performance Pitfalls
- 16:58Dependencies
- 18:17Combine
- 18:52Maven Central vs Gradle
- 20:07Repositories
- 22:21Common Mistake
- 23:20Checking for Updates
- 23:37Using a Plugin
- 24:35Fixing Dependencies
- 26:26Avoid Unused Dependencies
- 28:41Incremental Builds
- 29:30Incremental Example
- 29:46Dagger 2 Example
- 30:37Annotation Processing
- 31:37Debug Annotation Processing
- 32:52Software Updates
- 37:47Resconfigs
- 38:51Static Constants
- 40:07Optimizing Builds
- 41:33Separate Modules
- 44:30Disable PNG crunching
- 44:48Avoid legacy SDKs
- 46:28Dexing jars
- 46:52CI flag
- 47:10Gradle build cache
- 48:17D8 compiler
- 49:24integrator plugin 30
- 50:23Convert to WebP
- 50:42Instant Run
- 51:11Use the IDE
- 52:07Run individual tests
- 52:21Recap
- 52:36Gradle Profile
- 54:17Conclusion
related talks
31mImproving Android Build performance
40mImproving Android Build Performance
54mFrom Laptop Builds to Advanced CI
43mSqueezing the last drop of performance out of your Gradle builds (en)
28mMaking the most of your Gradle Builds
36mTop Build Performance issues in Android projects - 2023 Edition
33mIMPROVING ANDROID BUILD PERFORMANCE
49mGradle
