mobile-app-shrinking-and-release-optimization
Installation
SKILL.md
Mobile App Shrinking and Release Optimization
Purpose
Optimize the artifact users receive without trading away correctness or diagnosability. Prefer measured removal of unreachable code, resources, dependencies, symbols, and assets over folklore or maximal shrinking.
Core principles
- Measure the correct release artifact before changing it.
- Separate download size, installed size, runtime memory, startup, runtime performance, and build time.
- Treat static reachability as the default; dynamic lookup is the exception that needs evidence.
- Prefer code generation and explicit references over reflection and string-based lookup.
- Trust current dependency consumer rules before adding app rules, then verify them.
- Add the narrowest rule that protects the missing runtime edge.
- Preserve mapping and symbol artifacts outside the shipped binary.
- Test the optimized release path on representative physical devices.
- Pin tool versions and verify current documentation before changing version-sensitive syntax.
- Never present obfuscation as protection for secrets or authorization logic.