Expo应用无法显示自定义图标与启动页问题求助
解决方案:Expo裸Workflow下自定义图标/启动页不生效问题
针对你使用expo run:android构建时,自定义图标和启动页仍显示默认Expo资源的问题,结合你的排查步骤,给你几个针对性的解决方法:
重新预构建原生项目资源
expo run:android是基于预构建后的原生Android项目编译的,和Expo Go动态加载资源的机制完全不同。如果之前的原生资源还是默认的Expo文件,你需要重新生成适配的资源:npx expo prebuild --clean这个命令会清空旧的原生项目文件,根据当前
app.json的配置重新生成包含自定义图标、启动页的原生资源,之后再运行expo run:android即可。检查图片规格是否符合要求
Expo对图标和启动页的图片尺寸有严格要求,不符合的话可能无法生成适配各分辨率的资源:- 应用图标:必须是1024x1024像素的PNG,无需带圆角(Expo会自动处理圆角适配)
- 启动页图片:建议使用2732x2732像素的PNG,适配不同屏幕比例
清除Android Gradle缓存
Android的Gradle可能缓存了旧的资源文件,导致新资源无法生效,执行以下命令清除缓存后重新构建:cd android ./gradlew clean cd .. expo run:android确认
app.json配置完整性
检查是否遗漏启动页的必要参数,比如resizeMode(不配置可能导致显示异常),完整的启动页配置示例:"splash": { "image": "./src/assets/images/splash.png", "resizeMode": "contain", "backgroundColor": "#ffffff" }手动替换原生资源(备选方案)
如果预构建仍未生效,可以手动替换Android原生目录下的资源:- 用在线工具生成对应分辨率的Android图标包(包含不同dpi的图标文件)
- 替换
android/app/src/main/res/mipmap-*目录下的ic_launcher.png和ic_launcher_round.png - 生成适配的启动页资源,替换到
android/app/src/main/res/drawable-*目录
替换完成后执行expo run:android重新构建
内容的提问来源于stack exchange,提问作者UncaughtDanError
相关产品推荐
相关产品推荐

