Summary
- An error occurred during Wear OS watch face compilation:
UserStyleSetting has a 640 x 464 icon. This is too big, despite confirmed icon dimensions being under the claimed limit (400×400). - The root cause was redundant large-density drawable resources in obscure directories.
- The issue was resolved by identifying and removing oversized legacy assets from unexpected resource directories.
Root Cause
- Outdated or unused high-density drawable resources (e.g.,
drawable-xxxhdpi,drawable-nodpi) remained undiscovered in the project - Compiler aggregated all density-specific assets during build, including hidden large icons the developer wasn’t actively using
- Resource verification tools didn’t automatically scan low-priority directories
Why This Happens in Real Systems
- Legacy resources accumulate in projects during refactoring/rescaling
- Extreme-density drawable folders (
drawable-xxxhdpi,drawable-nodpi) are rarely checked manually - Resource validation systems often only inspect active
drawablefolders by default - Android Studio’s resource manager may override files silently during import operations
Real-World Impact
- Failed production builds causing CI/CD pipeline interruptions
- Unexpected exclusion of visual customization options in shipped products
- Increased APK size from unused assets
- Critical delays during release cycles due to misleading error messages
Example or Code (if applicable)
Directory structure hiding the offending file:
res/
├── drawable/
│ └── ic_theme_bezel_gb.png // 320x320
├── drawable-mdpi/
│ └── ic_theme_bezel_gb.png // 320x320
└── drawable-xxxhdpi/ // Overlooked directory
└── ic_theme_bezel_gb.png // 640x464 - TRIGGERS ERROR
Compiler log