Skip to content
Back to skills

Configure Aab Build

ASecurity

Configure Android App Bundle (AAB) build settings: ProGuard/R8 minification, resource shrinking, ABI filters. Use when the user says 'configure aab', 'shrink android app', 'proguard android', 'r8 minification'.

  • 3 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 4, 2026
developmentbashreact

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned October 4, 2026

npx -y skills add khadinakbarlabs/expo-mobile-app-builder --skill configure-aab-build --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Configure Aab Build?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Configure Aab Build
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/khadinakbarlabs-configure-aab-build/badge)](https://www.skillsdirectory.com/skills/khadinakbarlabs-configure-aab-build)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: "configure-aab-build"
description: "Configure Android App Bundle (AAB) build settings: ProGuard/R8 minification, resource shrinking, ABI filters. Use when the user says 'configure aab', 'shrink android app', 'proguard android', 'r8 minification'."
---

# Configure AAB Build

Build the leanest possible AAB.

## app.json + expo-build-properties

```json
{
  "expo": {
    "plugins": [
      ["expo-build-properties", {
        "android": {
          "enableProguardInReleaseBuilds": true,
          "enableShrinkResourcesInReleaseBuilds": true,
          "extraProguardRules": "-keep class com.facebook.react.** { *; }"
        }
      }]
    ]
  }
}
```

## What each does

- **ProGuard/R8** (minify): obfuscates + removes unused code (~30% size reduction)
- **Shrink Resources**: removes unused images/strings (~10-20% reduction)
- **AAB**: Play splits per-device (~30-50% download reduction vs single APK)

## Inspect AAB

```bash
bundletool build-apks --bundle=app-release.aab --output=app.apks
unzip -l app.apks
# See split APKs by ABI, density, language
```

## Per-device split APK size

```bash
bundletool build-apks --bundle=app-release.aab --connected-device --output=app.apks
bundletool get-size total --apks=app.apks
# Shows actual download size for THIS device
```

## ABI filters (smaller for specific architectures)

If you only support arm64 (which is fine for Android 8+ devices):
```json
{
  "expo-build-properties": {
    "android": {
      "ndkVersion": "26.1.10909125",
      "abiFilters": ["arm64-v8a"]
    }
  }
}
```

Drops armeabi-v7a, x86 architectures → ~30% smaller AAB.

WARNING: some emulators are x86. Keep x86_64 if targeting devs.

## Image optimization

```bash
# Before adding to assets/
# Use WebP instead of PNG (50% smaller)
cwebp -q 80 input.png -o output.webp
```

## ProGuard config rules

Custom rules in `proguard-rules.pro`:
```
-keep class com.yourcompany.** { *; }
-keepattributes Signature
-keepattributes *Annotation*
```

## Verify
```bash
bundletool get-size total --apks=app.apks --dimensions=ABI,LANGUAGE,SCREEN_DENSITY
```

Should be <20MB target for indie apps.

## Pair with
- `optimize-aab-size` for deeper optimization
- `eas-build-profiles-android` for build config

Files in this skill

  • SKILL.md2.2 KB
  • agents/openai.yaml188 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…