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

Flutter中launcher_icon与native_splash的Android启动页异常问题

Android端Flutter启动页不显示问题修复方案

针对你遇到的Android端仅显示应用图标、不加载自定义启动页的问题,可以按以下步骤排查修复:

1. 适配Android 12+的启动页配置

你的现有配置未针对Android 12及以上版本做适配,这是高版本Android启动页失效的常见原因。修改pubspec.yaml,添加Android 12专属配置:

flutter_native_splash:
  color: "#fafafa"
  image: assets/splash_screen.png
  color_dark: "#000000"
  image_dark: assets/splash_screen_dark.png
  android: true
  ios: true
  android_gravity: fill
  ios_content_mode: scaleAspectFill
  # 添加Android 12适配配置
  android_12:
    image: assets/splash_screen.png
    image_dark: assets/splash_screen_dark.png
    background_color: "#fafafa"
    background_color_dark: "#000000"

2. 校验资源文件与路径

  • 确认assets/splash_screen.png、assets/splash_screen_dark.png文件存在,路径大小写完全匹配(Android对文件路径大小写敏感)。
  • 确保图片尺寸符合规范:建议使用1080x1920像素以上的图片,避免因尺寸过小导致显示异常。

3. 清理并重新生成资源

执行以下命令彻底清理旧资源并重新生成:

# 清理Flutter缓存
flutter clean
# 重新生成启动页
flutter pub run flutter_native_splash:create
# 重新生成应用图标
flutter pub run flutter_launcher_icons:main

4. 检查Android项目配置

  • 打开android/app/src/main/AndroidManifest.xml,确认启动Activity的android:theme引用了flutter_native_splash生成的启动主题,示例:
    <activity
        android:name=".MainActivity"
        android:exported="true"
        android:theme="@style/LaunchTheme"
        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
        android:hardwareAccelerated="true"
        android:windowSoftInputMode="adjustResize">
    
  • 查看android/app/src/main/res/values/styles.xml和values-night/styles.xml,确认LaunchTheme未被自定义代码覆盖,保持flutter_native_splash自动生成的配置。

5. 清除缓存并重装应用

  • 卸载设备/模拟器上的旧应用,彻底清除残留缓存。
  • 重新运行flutter run安装应用,验证启动页是否正常显示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 04:45:31