flutter_native_splash包选中图片仅在虚拟设备显示问题
安卓物理设备Flutter启动页中心图片不显示问题排查与解决
以下是针对「AVD正常显示启动页中心图,安卓物理设备却显示Flutter默认logo、背景图正常」问题的具体解决步骤:
1. 重新生成启动页资源并清理构建缓存
插件生成的原生资源可能未正确覆盖物理设备安装包,执行以下操作:
- 清理旧启动页资源:
flutter clean - 重新生成启动页资源:
flutter pub run flutter_native_splash:create - 重新构建并安装到物理设备:
flutter install
2. 检查图片资源路径与格式兼容性
- 确认
images/splash_screen.png路径正确,且该文件夹已在pubspec.yaml的assets节点声明,补充配置示例:assets: - images/splash_screen.png - images/splash_screen_background.png - 检查中心图片尺寸是否符合安卓规范:建议分辨率不超过1080x1920,若设备较旧,可尝试将带透明通道的PNG转为JPG测试(部分老设备对PNG透明通道支持不佳)。
3. 手动验证安卓原生目录资源
确认插件是否正确生成资源文件:
- 打开项目
android/app/src/main/res目录,查看各drawable文件夹(如drawable-mdpi、drawable-hdpi等)下是否存在splash_screen.png,且内容为你的自定义图片而非Flutter默认logo。 - 若文件缺失或错误,可手动将中心图片按分辨率适配后放入对应drawable目录,再重新构建项目。
4. 升级插件版本
当前使用的flutter_native_splash: ^1.2.0版本较旧,存在部分物理设备兼容性问题,建议升级到最新稳定版:
- 修改
pubspec.yaml中的插件版本:flutter_native_splash: ^2.3.14 # 替换为当前最新稳定版 - 执行
flutter pub get更新依赖,再重新生成启动页资源。
内容的提问来源于stack exchange,提问作者808code
相关产品推荐
相关产品推荐

