Flutter为Android 12设置启动页时图标不显示问题求助
解决Flutter flutter_native_splash在Android 12启动页不显示自定义图标的问题
排查图标资源与路径
- 确认
assets/splash.png路径完全正确,文件无损坏。可在Flutter页面中通过Image.asset('assets/splash.png')测试能否正常加载,排除资源本身或路径错误问题。 - Android 12对启动图标尺寸有严格适配要求:建议提供多尺寸png(48x48 mdpi、72x72 hdpi、96x96 xhdpi、144x144 xxhdpi、192x192 xxxhdpi),或直接使用svg矢量图,让插件自动生成适配各分辨率的图标,避免因尺寸不适配导致图标被裁剪或不显示。
补全Android 12专属配置
Android 12(API 31+)的启动页有独立配置项,需在splash.yaml中明确指定,不能仅依赖通用配置。示例配置如下:
flutter_native_splash: color: "#ffff00" image: assets/splash.png # Android 12+ 专属配置 android_12: image: assets/splash.png color: "#ffff00" # 若图标为透明背景,需添加此项避免与背景融合 icon_background_color: "#ffff00"
清理缓存并重新生成资源
- 先清除旧的生成资源:
flutter pub run flutter_native_splash:remove --path=splash.yaml - 重新生成启动页资源:
flutter pub run flutter_native_splash:create --path=splash.yaml - 清理Android项目构建缓存:
./gradlew clean - 卸载设备上的旧应用后重新安装,避免残留的旧启动页缓存干扰。
检查AndroidManifest.xml配置
- 删除手动添加的启动页相关
<activity>或<meta-data>配置,避免与插件自动生成的内容冲突。 - 确认
android:targetSdkVersion不低于31,只有目标SDK版本适配Android 12,对应的启动页规则才会生效。
内容的提问来源于stack exchange,提问作者samirhossein__
相关产品推荐
相关产品推荐

