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

preview_player
Показать описание
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:

To get the bigger picture and learn more about other major Gradle Enterprise benefits, check out these playlists.

#fasterandroidbuilds #nelsonosacky #gradle
Рекомендации по теме
Комментарии
Автор

in 38:56 why do we choose to always disable the `debug` variant rather than the release? Is there any difference between debug and release build types in the android library module? Or is it more a workflow problem? (Having a debug only library or module)
Thanks

EsaFirman