React Native Expo裸机模式启动页重复显示问题求助
解决Expo裸机模式下双重启动页问题
问题根源
你看到的带小图标和空白圆角的页面是原生平台的默认启动页,没有被自定义启动页完全覆盖,或是Expo配置与原生项目的启动页设置产生了冲突。
分步解决方案
1. 校验并同步Expo启动页配置
先确认app.json(或app.config.js)里的splash配置正确,包含自定义启动页的路径、适配模式和背景色:
"splash": { "image": "./assets/你的启动页图片.png", "resizeMode": "cover", // 按需选contain或cover "backgroundColor": "#你的背景色值" }
然后执行清理重建命令,让Expo配置覆盖原生资源:
npx expo prebuild --clean
2. Android端原生文件修正
- 进入
android/app/src/main/res目录,删除所有默认启动页相关文件(比如splash_background.xml),确保各drawable分辨率文件夹下只有自定义启动页图片。 - 打开
AndroidManifest.xml,确认主Activity的主题指向自定义启动页主题:
<activity android:name=".MainActivity" android:theme="@style/SplashTheme" ...>
- 检查
res/values/styles.xml中的SplashTheme,保证它绑定了自定义启动页图片:
<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar"> <item name="android:windowBackground">@drawable/你的启动页文件名</item> </style>
3. iOS端原生文件修正
- 打开Xcode,找到
LaunchScreen.storyboard,删除默认图标和占位元素,插入自定义启动页图片并调整适配全屏。 - 检查
Assets.xcassets,若存在默认LaunchImage资源组,直接替换成自定义图片;或完全依赖Launch Screen Storyboard管理启动页,避免两种方式混用。 - 执行
npx pod-install更新依赖后重新构建项目。
4. 清理缓存彻底重建
- 清理Expo缓存:
npx expo r -c - Android端清理构建缓存:在项目根目录的android文件夹下运行
./gradlew clean - iOS端清理构建缓存:Xcode中点击
Product > Clean Build Folder
内容的提问来源于stack exchange,提问作者Heitor Rocha
相关产品推荐
相关产品推荐

