Expo SDK 52启动屏异常:显示图标而非设置图,无法禁用默认启动屏
Expo SDK 52 启动屏异常问题求助
- 配置启动屏图片后,实际显示的却是应用图标
- 删除
app.json中的expo.splash字段试图禁用默认启动屏,无效果
已查阅Expo官方启动屏文档及相关资料,未找到同类案例,刚接触Expo开发,求解决思路。
我的app.json配置:
{ "expo": { "name": "projectName", "slug": "projectName", "version": "1.3.2", "orientation": "portrait", "icon": "./assets/images/splash.png", "newArchEnabled": true, "splash": { "image": "./assets/images/splash.png", "resizeMode": "cover" }, "userInterfaceStyle": "light", "ios": { "supportsTablet": true }, "android": { "adaptiveIcon": { "foregroundImage": "./assets/images/adaptive-icon.png", "backgroundColor": "#ffffff" }, "package": "com.kawan.projectname" }, "web": { "favicon": "./assets/images/favicon.png" }, "extra": { "eas": { "projectId": "d9867a6f-49d4-4482-a5e3-e1066db23ae1" } } } }
排查解决步骤:
检查图片资源问题
- 你把启动屏图片和应用图标都设成了
splash.png,先确认这张图是不是本身就是应用图标样式?换一张不同的图片作为启动屏测试,路径要确保正确。 - 检查图片尺寸是否符合Expo要求:Android启动屏建议至少1242×2688px,iOS建议2732×2732px,尺寸不对可能导致系统缩放后显示异常。
- 你把启动屏图片和应用图标都设成了
清理缓存并重新构建
- 执行
npx expo prebuild --clean清理旧的预构建文件,然后重新运行npx expo start -c清除缓存后启动项目。 - 如果用EAS构建,要确保构建时使用了最新的配置,本地修改后需要重新提交构建,旧的构建包不会自动更新配置。
- 执行
检查启动屏配置细节
- 即使删除
expo.splash字段,Expo默认会用应用图标作为启动屏 fallback,所以你看到的还是图标不是没生效。要是想完全禁用启动屏,得在原生项目里配置,但Expo管理项目不建议这么做,最好还是明确设置正确的启动屏参数。 - 试试给
splash字段加上backgroundColor,示例:
确保图片路径和文件名完全正确,大小写在区分大小写的系统(比如macOS)里要匹配。"splash": { "image": "./assets/images/actual-splash.png", "resizeMode": "cover", "backgroundColor": "#ffffff" }
- 即使删除
新架构影响排查
- 你开启了
newArchEnabled: true,新架构下启动屏的处理可能有差异,试试临时关闭新架构(设为false),重新构建后看问题是否消失,排除新架构的兼容性问题。
- 你开启了
内容的提问来源于stack exchange,提问作者Ario Febri
相关产品推荐
相关产品推荐

