Flutter构建成功后Android启动图标不显示问题求助
Flutter Android端自定义启动图标不显示问题排查
问题描述
开发Flutter应用时,Android端自定义启动图标无法显示,始终显示默认Android机器人图标,已按常规流程生成图标并确认图片路径正确。
已执行操作
- 使用
flutter_launcher_icons生成图标 pubspec.yaml配置如下:
flutter_launcher_icons: android: "launcher_icon" ios: true image_path: "assets/images/icon.png" min_sdk_android: 21 # android min sdk min:16, default 21 web: generate: true image_path: "assets/images/icon.png" background_color: "#hexcode" theme_color: "#hexcode" windows: generate: true image_path: "assets/images/icon.png" icon_size: 48 # min:48, max:256, default: 48 macos: generate: true image_path: "assets/images/icon.png"
- AndroidManifest.xml中application配置:
<application android:label="appName" android:name="${applicationName}" android:icon="@mipmap/launcher_icon">
- 执行
flutter clean并重新构建APK,问题未解决 - 卸载重装应用并清除缓存,问题仍存在
- 验证图片路径正确,图标为PNG格式、正方形且符合尺寸要求
环境信息
- Flutter版本:
3.16.9 - flutter_launcher_icons版本:
v0.13.1 - Android SDK路径:
C:\Users\...
可能原因及排查方向
flutter_launcher_icons未正确生成图标资源
检查android/app/src/main/res/下的各mipmap文件夹(如mipmap-hdpi、mipmap-mdpi等)是否存在launcher_icon.png文件。若缺失,说明图标生成失败,重新执行flutter pub run flutter_launcher_icons:main命令,查看控制台输出的错误信息。AndroidManifest.xml配置冲突
- 检查
android/app/src/main/AndroidManifest.xml中是否有<activity>标签单独设置android:icon属性,该配置会覆盖application级别的图标设置; - 检查debug/release等不同构建变体的Manifest文件,确认是否修改了图标配置。
- 检查
版本兼容性问题
当前使用的flutter_launcher_icons v0.13.1版本较旧,与Flutter 3.16.9可能存在兼容性问题。尝试升级到最新稳定版,修改pubspec.yaml中的依赖版本后执行flutter pub get,再重新生成图标。Android构建缓存未彻底清除
除flutter clean外,手动清除Android项目缓存:- 删除
android/app/build目录; - 在android目录下执行
gradlew.bat clean(Windows)或./gradlew clean(Mac/Linux); - 重启Android Studio刷新缓存。
- 删除
图标资源细节问题
- 检查原始图标
assets/images/icon.png的透明通道是否异常(部分Android系统对透明图标处理有差异); - 确认生成的图标文件名与配置中的
launcher_icon完全一致,注意大小写(Android打包时会严格校验)。
- 检查原始图标
构建变体配置遗漏
若使用debug/release等不同构建变体,尝试指定变体重新生成图标,命令示例:flutter pub run flutter_launcher_icons:main --release。
内容的提问来源于stack exchange,提问作者Aniket Chavan
相关产品推荐
相关产品推荐

