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

Flutter打包APK安装时显示默认图标问题的解决方法

解决Flutter APK安装过程中显示默认图标的问题

这个问题的核心原因是:安装界面和文件管理器显示的图标,读取的是AndroidManifest.xml中<application>标签的android:icon属性,而你只在<activity>标签里配置了图标,系统找不到application级别的图标时就会 fallback到默认的Android图标。而安装完成后桌面显示正常,是因为你的MainActivity配置了icon,部分启动器会优先读取Activity的图标,但安装过程只认application的配置。

下面是具体的修复步骤:

1. 修正AndroidManifest.xml的application标签配置

打开你的Android项目中的android/app/src/main/AndroidManifest.xml,找到<application>标签,添加或修改android:icon和android:roundIcon属性:

<application
    android:name="io.flutter.app.FlutterApplication"
    android:label="你的应用名称"
    android:icon="@mipmap/ic_launcher"
    android:roundIcon="@mipmap/ic_launcher_round"> <!-- 可选,针对支持圆形图标的设备 -->
    <!-- 你的activity配置 -->
    <activity
        android:name=".MainActivity"
        android:icon="@mipmap/ic_launcher" <!-- 这个可以保留,作为Activity的图标 -->
        ...>
        ...
    </activity>
</application>

2. 确保所有分辨率的图标都正确生成

如果你的mipmap-*目录下没有对应的图标文件,或者图标尺寸不符合规范,也会导致显示异常。推荐使用Flutter官方推荐的flutter_launcher_icons工具来自动生成全分辨率图标:

  • 在pubspec.yaml中添加依赖:
    dev_dependencies:
      flutter_test:
        sdk: flutter
      flutter_launcher_icons: ^0.13.1 # 可以替换为最新版本
    
  • 在pubspec.yaml末尾添加图标配置:
    flutter_launcher_icons:
      android: "launcher_icon"
      ios: true
      image_path: "assets/icon/icon.png" # 替换成你的原始图标路径,推荐尺寸为1024x1024
    
  • 运行生成命令:
    flutter pub get
    flutter pub run flutter_launcher_icons:main
    
    这个命令会自动为Android生成所有mipmap分辨率的图标,覆盖对应的目录。

3. 清除缓存并重新打包

有时候旧的缓存资源会影响打包结果,先清除缓存再重新构建:

flutter clean
flutter build apk

完成以上步骤后,再安装APK,你会发现安装过程和文件管理器里都会正确显示你的应用图标了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 17:06:49