Foreground, background, safe zone
Adaptive icons combine foreground and background layers with optional monochrome for themed Android versions. The system applies circle, squircle, or rounded-rect masks — you do not control the final silhouette on every device.
Keep critical logo art inside the central 66% “safe zone.” Full-bleed illustrations get clipped on circular launchers. Background can be a flat brand color while foreground holds the glyph.
Vector drawables scale best; raster is fine if you export every density. Missing `xxxhdpi` shows soft icons on flagship phones — users notice even if they cannot name dpi.
Play Console vs on-device
Store listing high-res icon (512×512) is marketing; launcher mipmaps are engineering. They should match visually but are separate uploads in workflow.
Feature graphic and screenshots have their own specs — do not upscale a launcher icon and call it a banner.
After generation, open the build on a physical device with Samsung and Pixel launchers if possible — emulators miss OEM masks.
Generate density buckets fast
Starting from one 1024×1024 PNG or SVG export, the App Icon Generator on DroidXP outputs Android mipmap sizes and common iOS icon dimensions in the browser. Download a zip, drop into `res/`, rebuild.
We still keep source in Figma with adaptive preview, but for jam projects the generator beats manual math on `mdpi` versus `xxhdpi` multipliers.
Pair with your CI screenshot tests so a rebrand does not ship with one wrong folder name (`mimap-hdpi` typos happen).
Quality checks before upload
Compare adaptive preview on light and dark wallpapers — busy photos behind icons reduce contrast.
Avoid text smaller than you would use on a favicon; store users browse on phones, not 27" monitors.
Version icon changes in release notes; returning users use muscle memory to find your app.