Common Cache issues in Android projects - 2023 Edition
summary
Practical checklist of reproducible cache failures and fixes for Android Gradle builds: absolute paths and live-edit live literals embed user-specific paths causing cache misses; KSP uses internal sub-plugin options and is fixed by a merged PR (KSP sub-plugin options fix); JDK runtime differences are normalized to eliminate non-deterministic transform outputs; CI/local Gradle property mismatches and version-catalog accessor hash changes explain many misses; configuration-cache break with kapt on Gradle 8.1 is reproducible by attaching a debugger; observed 60% reduction in heap/process load when remote caching is working; artifact transforms are now visible in build scans.
AI-written summary · about
chapters (19)
- 0:00Introduction and speakers
- 1:59What Gradle solutions team does
- 4:05Caching basics and benefits
- 6:54Gradle build caching explained
- 8:39Android caching specifics
- 10:02What is a cache miss
- 11:26CI vs local config differences
- 12:54Live literals in Compose
- 15:00KSP plugin options issue
- 18:33Java compiler transform output
- 23:12JDK version normalization
- 23:33Observability components cache misses
- 25:42Task implementation changes
- 27:49Version catalogs and accessors
- 30:16Configuration cache misses
- 33:44Debugging task inputs
- 36:10Artifact transforms in build scans
- 39:22Build scan timeline improvements
- 40:05Closing and resources
related talks
36mTop Build Performance issues in Android projects - 2023 Edition
42mCache Me If You Can
17mBoosting your Android CI through integrating Build Cache
46mDeveloping for Android: the Naughty Bits
49mKeynote: Android Development
54mFrom Laptop Builds to Advanced CI
29mSecuring Android Applications - The not so se…
48mOptimizing Android Build Performance
