You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter移除USB后物理设备上Splash screen无法显示求助

解决flutter_native_splash启动页拔USB后白屏的问题

1. 排查资源打包问题

  • 核对pubspec.yaml里的启动页资源路径,避免文件名或目录拼写错误,防止release打包时资源未被包含
  • 执行flutter clean清空缓存,重新运行flutter pub run flutter_native_splash:create生成启动页资源,再重新构建release包

2. Android端配置检查

  • 打开android/app/src/main/res/drawable/launch_background.xml,确认图片引用路径正确,避免release模式下资源加载失败
  • 检查AndroidManifest.xml中的启动Activity,确保android:theme属性指向的@style/LaunchTheme正确关联了启动页drawable资源
  • 临时关闭Android资源压缩测试:在android/app/build.gradle的buildTypes -> release块中添加shrinkResources false和minifyEnabled false,排除压缩导致的资源丢失

3. iOS端配置检查(针对iOS设备测试)

  • 确认ios/Runner/Assets.xcassets里的LaunchImage已添加全分辨率图片,缺图会导致启动页不显示
  • 检查Info.plist里的UILaunchStoryboardName是否设为LaunchScreen,同时确认LaunchScreen.storyboard正确引用了启动图片

4. 优化Flutter初始化流程

  • 若Flutter初始化过慢,原生启动页消失后Flutter未完成渲染,会出现白屏。可在main.dart中确保初始化完成再启动App:
void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  // 耗时初始化操作改为异步执行,避免阻塞主线程
  await initRequiredServices();
  runApp(const MyApp());
}

5. 正确安装release包

  • 不要用调试模式安装后拔线测试,需生成正式release包(Android执行flutter build apk --release,iOS通过Xcode打包),再通过adb install或正常渠道安装到设备,确保安装的是完整release版本

内容的提问来源于stack exchange,提问作者Shagun arora

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 18:05:21