Favycons Docs

Android Export Bundle

Complete Android icon set with adaptive icons, legacy PNGs, and Play Store icon for all density buckets.

Android Export Bundle

The Android export bundle provides everything you need for Android app icons, including legacy launcher icons, adaptive icons for Android 8.0+, round icons, and the Play Store marketing icon.

What's Included

android-icons/
├── mipmap-ldpi/
│   ├── ic_launcher.png         (36x36)
│   └── ic_launcher_round.png   (36x36)
├── mipmap-mdpi/
│   ├── ic_launcher.png         (48x48)
│   └── ic_launcher_round.png   (48x48)
├── mipmap-hdpi/
│   ├── ic_launcher.png         (72x72)
│   └── ic_launcher_round.png   (72x72)
├── mipmap-xhdpi/
│   ├── ic_launcher.png         (96x96)
│   └── ic_launcher_round.png   (96x96)
├── mipmap-xxhdpi/
│   ├── ic_launcher.png         (144x144)
│   └── ic_launcher_round.png   (144x144)
├── mipmap-xxxhdpi/
│   ├── ic_launcher.png         (192x192)
│   └── ic_launcher_round.png   (192x192)
├── mipmap-anydpi-v26/
│   ├── ic_launcher.xml         (Adaptive icon)
│   └── ic_launcher_round.xml   (Round adaptive)
├── drawable/
│   └── ic_launcher_foreground.xml  (Foreground vector)
├── values/
│   └── ic_launcher_background.xml  (Background color)
├── playstore-icon.png          (512x512)
└── SETUP.md

Density Bucket Reference

DensityScaleIcon SizeForeground Size
ldpi0.75x36x3681x81
mdpi1x (baseline)48x48108x108
hdpi1.5x72x72162x162
xhdpi2x96x96216x216
xxhdpi3x144x144324x324
xxxhdpi4x192x192432x432

Installation

1. Copy Files

Copy the extracted folders to your Android project's res directory:

your-app/
└── android/app/src/main/res/
    ├── mipmap-ldpi/
    ├── mipmap-mdpi/
    ├── mipmap-hdpi/
    ├── mipmap-xhdpi/
    ├── mipmap-xxhdpi/
    ├── mipmap-xxxhdpi/
    ├── mipmap-anydpi-v26/
    ├── drawable/
    └── values/

2. Update AndroidManifest.xml

Ensure your manifest references both regular and round icons:

<application
    android:icon="@mipmap/ic_launcher"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:label="@string/app_name"
    ...>

3. Sync Project

In Android Studio: File → Sync Project with Gradle Files

Understanding Adaptive Icons

Starting with Android 8.0 (API 26), Android introduced adaptive icons. These consist of:

  • Foreground layer: Your icon artwork (vector or PNG)
  • Background layer: Solid color or image

The system applies different masks (circle, squircle, rounded square, etc.) based on the device manufacturer's preferences. This is why adaptive icons look great everywhere!

How It Works

The ic_launcher.xml in mipmap-anydpi-v26/ tells Android to use:

  • @drawable/ic_launcher_foreground for the icon artwork
  • @color/ic_launcher_background for the background color

On Android 8.0+, the system uses these layers. On older devices, it falls back to the legacy PNG icons in the density folders.

Safe Zone

Adaptive icon foregrounds are 108dp, but only the center 66dp is the "safe zone" guaranteed to be visible after masking. The Favycons export places your icon artwork centered within this safe zone.

React Native / Expo

For React Native projects:

  1. Extract the ZIP
  2. Copy all folders to:
    android/app/src/main/res/
  3. Rebuild: npx react-native run-android

For Expo managed projects:

// app.json
{
  "expo": {
    "android": {
      "icon": "./path/to/192x192.png",
      "adaptiveIcon": {
        "foregroundImage": "./path/to/foreground.png",
        "backgroundColor": "#FFFFFF"
      }
    }
  }
}

Flutter Projects

  1. Replace the default icons in:
    android/app/src/main/res/mipmap-*/
  2. For adaptive icons, also update:
    android/app/src/main/res/mipmap-anydpi-v26/
    android/app/src/main/res/drawable/
    android/app/src/main/res/values/

Or use the flutter_launcher_icons package and point it to the 1024x1024 source.

Play Store Submission

Use playstore-icon.png (512x512) when uploading to Google Play Console:

  1. Go to Google Play Console → Your App
  2. Navigate to Store presenceMain store listing
  3. Upload the 512x512 PNG as your app icon

Requirements:

  • Exactly 512x512 pixels
  • PNG format
  • No transparency (use solid background)
  • No rounded corners (Google applies these)

Testing

# Build and install
./gradlew installDebug

# Or use Android Studio: Run → Run 'app'

Verify these locations:

  • Home screen: Launcher icon appears correctly
  • App drawer: Icon is visible and properly masked
  • Settings → Apps: Your icon shows in the app list
  • Recent apps: Correct icon in the task switcher

Troubleshooting

Icon looks wrong on some devices?

Some manufacturers (Samsung, Xiaomi) apply heavy rounding or unique shapes. Adaptive icons handle this automatically by allowing the system to apply its preferred mask to your foreground/background layers.

Icon not updating after change?

  1. Uninstall the app completely: adb uninstall com.your.package
  2. Reinstall: ./gradlew installDebug
  3. For emulators: Wipe data and cold boot

Round icon shows square background?

Ensure you have both ic_launcher.xml and ic_launcher_round.xml in mipmap-anydpi-v26/, and that AndroidManifest.xml references both android:icon and android:roundIcon.

Build fails with resource errors?

  1. Clean the project: Build → Clean Project
  2. Rebuild: Build → Rebuild Project
  3. Check for duplicate resource names across density folders

On this page