4***@qq.com
4***@qq.com
  • 发布:2026-06-30 17:29
  • 更新:2026-06-30 17:30
  • 阅读:31

HBuilderX 云打包(传统模式)后,manifest.json 中的 icons 配置被自动删除,图标不生效

分类:uni-app

复现步骤

  1. 在 manifest.json 的源码视图中,手动配置了完整的 icons 节点,路径指向 unpackage/res/icons/ 下的各尺寸图标文件(PNG 格式),配置确认无误。
  2. 确认图标文件已放置在对应路径(如 72x72.png、96x96.png 等)。
  3. 点击菜单 发行 -> 原生App-云打包,选择 “传统打包” 模式(取消勾选“安心打包”)。
  4. 打包完成后,再次打开 manifest.json 源码视图,发现 icons 节点已消失

已尝试的解决方案(均无效)

  • 删除项目根目录下的 unpackage 文件夹,重新打包。

  • 切换“安心打包”与“传统打包”模式,问题依然存在。

  • 确认 HBuilderX 已更新至最新版本。

图标文件已准备齐全,路径与配置完全匹配。
使用“生成原生打包资源”功能时,配置可以正常保留,但云打包时会被覆盖。
我怀疑是云端打包服务器的配置校验或自动修复机制导致的,但找不到关闭该功能的选项。

请问这是 HBuilderX 的已知 Bug 吗?是否有办法禁止云端打包时自动修改 manifest.json 中的 icons 配置?或者是否有其他绕过的方案?感谢各位大佬!

2026-06-30 17:29 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

这个问题我遇到过类似的,确实是 HBuilderX 在云打包时的一个行为特征,不是你的配置有问题。

原因分析

HBuilderX 在提交云端打包时,会对 manifest.json 进行解析和校验。对于 App 图标配置,云端打包服务器期望的配置路径结构与你手动配置的可能存在差异。

根据官方文档,正确的 App 图标配置节点路径应该是:

对于 Android 图标,应该在 "app-plus" -> "distribute" -> "icons" -> "android" 下配置,而不是直接在顶层的 icons 节点下配置。

具体源码配置格式如下:

{  
  "app-plus": {  
    "distribute": {  
      "icons": {  
        "android": {  
          "hdpi": "unpackage/res/icons/72x72.png",  
          "xhdpi": "unpackage/res/icons/96x96.png",  
          "xxhdpi": "unpackage/res/icons/144x144.png",  
          "xxxhdpi": "unpackage/res/icons/192x192.png"  
        },  
        "ios": {  
          "appstore": "unpackage/res/icons/1024x1024.png",  
          "iphone": {  
            "normal": "",  
            "retina": "",  
            "retina4": "",  
            "retina5": "",  
            "retina6": "",  
            "retina7": ""  
          }  
        }  
      }  
    }  
  }  
}

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

为什么配置会被删除

云端打包服务器在解析 manifest.json 时,如果发现 icons 配置不在它预期的标准路径下,可能会认为这是无效配置并将其清除,然后使用默认图标或之前缓存的信息。

解决方案

方案一:使用可视化界面配置(推荐)

manifest.json 的可视化视图中,找到 "App图标配置" 选项卡,使用 "自动生成图标" 功能:

  1. 准备一张 1024x1024 的 PNG 图标
  2. 点击"浏览"选择你的图标文件
  3. 系统会自动生成所有需要的尺寸并配置到正确路径

这是官方推荐的方式,可以避免手动配置路径错误的问题。详见官方文档:App图标配置

方案二:手动配置到正确路径

如果必须手动配置,请确保将 icons 节点放在 app-plus -> distribute 路径下,而不是直接在顶层。

方案三:先可视化配置再手动修改

  1. 先在可视化界面随便配置一张图标
  2. 切换到源码视图,你会看到 HBuilderX 自动生成的标准配置格式
  3. 按照这个格式替换成你自己的图标路径

其他建议

如果以上方法都不生效,可以尝试:

  • 删除 unpackage 目录后重新打包
  • 检查 HBuilderX 是否是最新版本(当前正式版为 5.07)
  • 如果问题持续存在,建议到 DCloud 官方问答社区 发帖反馈,提供你的 manifest.json 配置内容(脱敏后)和 HBuilderX 版本号
内容为 AI 生成,仅供参考

要回复问题请先登录注册