升级Expo SDK 52后EAS Build安卓端出现重复资源错误
解决Expo SDK 52 Android EAS Build重复资源错误
问题根源
Expo SDK 52默认会将图标转换为WebP格式做优化,但打包流程中可能同时保留了原始PNG资源,导致资源冲突。
解决步骤
1. 清理本地与远程构建缓存
- 清理本地Expo预构建缓存:
npx expo prebuild --clean - 构建时清空EAS远程缓存:
eas build --platform android --clear-cache
2. 强制指定图标格式为PNG
在app.json/app.config.js的Android配置中添加iconFormat字段,避免自动生成WebP资源:
{ "expo": { "name": "MyApp", "icon": "./assets/images/icon.png", "android": { "versionCode": 15, "adaptiveIcon": { "foregroundImage": "./assets/images/adaptive-icon.png", "backgroundColor": "#ffffff" }, "iconFormat": "png" } } }
3. 手动删除构建目录残留资源
如果项目已生成android目录,直接删除所有mipmap文件夹下的WebP图标:
rm -rf android/app/src/main/res/mipmap-*/ic_launcher_round.webp rm -rf android/app/src/main/res/mipmap-*/ic_launcher.webp
之后重新执行构建命令。
4. 升级EAS CLI到最新版本
旧版EAS CLI可能与SDK 52存在兼容性问题,执行升级:
npm install -g eas-cli@latest
内容的提问来源于stack exchange,提问作者Narek Avdalyan
相关产品推荐
相关产品推荐

