uniapp设置app图标打包后显示默认图标,安装后桌面图标才变回是什么原因?

我在使用uniapp开发APP时遇到了图标显示异常的问题:打包后安装过程中显示的始终是默认的HBuilder图标,只有安装完成并在桌面生成快捷方式后,图标才会变成我配置的自定义图标。请问这是什么原因导致的?需要如何设置才能让安装过程中也显示正确的应用图标?

2 回复

这种情况通常是因为图标缓存问题导致的。主要有几个可能原因:

  1. 图标缓存未更新:系统缓存了旧的默认图标,安装后才读取新图标
  2. 图标配置问题:检查manifest.json中图标路径是否正确,建议使用绝对路径
  3. 图标尺寸不符:确保提供了所有要求的尺寸(Android需要多种尺寸)
  4. 打包配置:HBuilderX中需勾选“生成app图标”选项

解决方法

  • 清理项目,重新打包
  • 确认图标文件存在且路径正确
  • 检查AndroidManifest.xml中图标配置
  • 卸载旧版本,重新安装新包

通常重新打包安装后就能正常显示自定义图标。


在UniApp中,打包后安装包图标显示为默认图标,而安装到桌面后图标才变回自定义图标,通常是由于以下原因及解决方案:

原因分析:

  1. 图标配置路径错误或缺失:未在 manifest.json 中正确配置图标路径,或图标文件不存在。
  2. 图标尺寸不规范:Android/iOS 对图标尺寸有严格要求,未提供适配多分辨率的图标。
  3. 缓存问题:打包时旧缓存未清除,导致图标未更新。
  4. 原生平台配置未生效:如 Android 的 ic_launcher 或 iOS 的 AppIcon 未正确替换。

解决方案:

1. 检查 manifest.json 配置

  • manifest.json"app-plus""distribute""android""ios" 节点下确认图标路径:
{
  "app-plus": {
    "distribute": {
      "android": {
        "icons": {
          "36": "./static/icon-36.png",
          "48": "./static/icon-48.png",
          "72": "./static/icon-72.png",
          "96": "./static/icon-96.png",
          "144": "./static/icon-144.png",
          "192": "./static/icon-192.png"
        }
      },
      "ios": {
        "icons": {
          "appstore": "./static/icon-1024.png",
          "ipad": { ... } // 根据需求配置
        }
      }
    }
  }
}
  • 路径要求:图标文件需放在项目静态目录(如 static/)下,且路径相对于根目录。

2. 提供多尺寸图标

  • Android:需提供 36x36、48x48、72x72、96x96、144x144、192x192 等尺寸(建议使用 512x512 原图生成)。
  • iOS:需提供 1024x1024(App Store)、20x20、29x29、40x40、60x60、76x76、83.5x83.5 等(可通过 Xcode 的 AppIcon 集自动生成)。
  • 工具推荐:使用 图标生成工具 自动生成多尺寸图标。

3. 清除缓存并重新打包

  • 删除 unpackage 目录。
  • 在 HBuilderX 中选择 发行 → 原生App-云打包,重新生成安装包。

4. 检查原生平台配置(如需要)

  • Android:确认 android.keystoreunpackage/resources 中的图标文件已更新。
  • iOS:在 Xcode 中检查 Assets.xcassets/AppIcon.appiconset 是否包含正确图标。

其他注意事项:

  • 图标格式:使用 PNG 格式,避免透明底(部分平台要求非透明)。
  • 测试真机:在真机上安装测试,模拟器可能显示缓存图标。
  • 云打包与离线打包:云打包自动处理图标,离线打包需手动配置原生工程。

按以上步骤操作后,重新打包即可解决图标显示问题。

回到顶部