Flutter构建后Android启动图标显示空白问题求助
Flutter Android启动图标显示默认空白的排查与解决
问题复现
配置flutter_launcher_icons包后,Android端仍显示默认空白图标(部分设备为蓝底拼图样式,部分为黑框),已确认pubspec.yaml配置、图标文件、AndroidManifest.xml配置均存在,但问题未解决。
排查与修复步骤
1. 彻底清理缓存并重新生成图标
执行以下命令清理项目缓存,避免旧资源残留:
flutter clean rm -rf android/app/src/main/res/mipmap-*
重新生成图标并构建项目:
flutter pub run flutter_launcher_icons flutter build apk
2. 补全自适应图标配置
Android 8.0+(API 26+)默认使用自适应图标,仅配置adaptive_icon_background会导致图标显示异常。修改pubspec.yaml添加前景图标配置:
flutter_launcher_icons: android: "launcher_icon" ios: false image_path: "assets/icon/icon.png" adaptive_icon_background: "#5F8F3C" adaptive_icon_foreground: "assets/icon/icon_foreground.png" # 建议使用透明背景的432x432尺寸图标 remove_alpha_ios: true min_sdk_android: 21
注意:前景图标需为透明背景,避免被背景遮挡或拉伸变形。
3. 验证AndroidManifest.xml的完整配置
确保所有<application>标签都正确设置图标,包括圆形图标:
<application android:icon="@mipmap/launcher_icon" android:roundIcon="@mipmap/launcher_icon_round" android:label="@string/app_name">
同时检查debug目录下的AndroidManifest.xml,避免debug环境使用默认图标。
4. 检查图标资源完整性
进入android/app/src/main/res/目录,确认所有mipmap-xxx文件夹下都存在launcher_icon.png和launcher_icon_round.png,且图标内容正确。若部分分辨率下的图标缺失或损坏,会导致对应设备显示默认图标。
5. 清理设备端应用缓存
部分设备会缓存旧启动图标,卸载应用后,进入设备设置-应用管理,清理该应用的残留缓存,再重新安装新版本。
内容的提问来源于stack exchange,提问作者MKJ
相关产品推荐
相关产品推荐

