Scaling Your Android Build (Part 1): Going Beyond Modularization with Gradle

The premise of the talk is that Android build speeds can get out of hand pretty quickly once you start piling on the build flavors. And while Gradle Plugins and modularization help a lot with bringing build times down, the question remains, what if anything, else can be done? The presentation will answer that question while providing expert tips and tricks on scaling your Android build and best practices to ensure a productive development environment. You will also learn about Developer Productivity Engineering technologies that can be used to accelerate local and CI builds like build cache and collaborative debugging and optimization using build scans. Finally, this event covers measuring your Android scaling initiative’s success.

Specific topics include:

00:02:17 – Gradle Build Tool vs. Gradle Enterprise
00:03:15 – Tech Debt
00:04:34 – Cost of Builds
00:05:54 – Where to begin on Improving Build Speed
00:09:25 – Gradle Build Lifecycle
00:10:35 – Check for Red Flags in Your Build
00:11:44 – Gradle Enterprise Build Scan vs. Android Studio Build Analyzer
00:17:59 – Disabling Plugins to Minimize Build Time
00:19:01 – engBuild Pattern
00:21:15 – Using Task Configuration Avoidance
00:21:51 – API vs. Implementation
00:24:19 – Gradle Profiler
00:27:49 – Enterprise Feature Alert – Capturing Task Input Files and Comparing Build Scans
00:28:41 – Dependency Analysis Plugin
00:29:07 – Annotation Processors – Make sure they are Incremental!
00:30:11 – Disabling unused AGP Features
00:32:57 – Code Multipliers – Jetifier & Flavors
00:37:17 – How to Cut Build Times in Half
00:39:54 – Summarizing the Webinar
00:41:46 – Upcoming Gradle Performance Enhancements
00:43:36 – Q&A with Nelson Osacky

Links Provided in this Webinar:
Fladle – Easily Scale Instrumentation Tests on Firebase:
Delect – Replace Dagger with Dagger Reflect:
Gradle Doctor – Actionable Insights for your Build:
Cost of Builds:
Update All the Things:
engBuild == Gradle property:
Use Task Configuration Avoidance:
K9 Mail App:
Gradle Profiler:
Capture Task Input Files:
Dependency Analysis Plugin
Gradle Remote Build Cache Miss:
Android Cache Fix Gradle Plugin:
Dependency Substitution:
Disable More Things:
engBuild Ideas:
File System Watching:

To learn more about Android Productivity Engineering, check out this playlist:

Use this URL to share:

#fasterandroidbuilds #nelsonosacky #gradle

You may also like...

Add a Comment