Pierzchała starts with a fresh React Native project and uses Spotify’s Ruler tool to analyze its release bundle. The baseline report shows a 7.7 MB download size and a 21.5 MB install size.
Your Android React Native App Is Big Because It's Missing This One Setting
Speaker
Michał Pierzchała, principal engineer at Callstack, explains how to reduce React Native Android app size with R8 in a short episode of Callstack’s React Native Optimization in Practice series.
He points to the R8 section of Callstack’s React Native Optimization Guide. In the app’s release build configuration, he enables ProGuard, which turns on R8, and resource shrinking for assets such as PNGs, JPEGs, and vector drawables.
After rerunning the bundle analysis, the download size drops from 7.7 MB to 5.5 MB, while the install size falls from 21.5 MB to 15 MB. The report also shows 63 components instead of 75, because R8 removed unused components.
Pierzachła says the smaller bundle takes up less space in the Play Store and on users’ devices. He encourages viewers to apply the optimization in their own projects.
Takeaways
- Measure release bundle size before optimizing so you can compare results.
- Enable R8 for release builds to remove unused native code.
- Turn on resource shrinking to reduce packaged image and vector assets.
- Reanalyze the bundle after changes to verify download and install size reductions.
- Check third-party library rules when enabling R8, since some libraries may need configuration.
Mentioned in this talk
Search inside this talk
What was claimed 5
- role atMichał Pierzchała is principal engineer at
Callstack“a principal engineer at Callstack”
YouTube Verified5 sources· Talk
- featureR8: Built-in Android optimizer for making native binaries smaller
“R8 is a built-in Android optimizer for making your native binaries smaller”
YouTube Unverified1 source· Talk
- uses
“add it to the dependencies in build.gradle”
YouTube Unverified1 source· Talk
- featureResource shrinking: Shrinks resources including PNGs, JPEGs, and vector drawables
“We also want to shrink resources, including PNGs, JPEGs, and vector drawables.”
YouTube Unverified1 source· Talk
- featureR8: Removes unused components that are unnecessary for the app to function
“R8 removed some components that we haven't used and that weren't necessary”
YouTube Unverified1 source· Talk





