构建多个不同的APP产物-icon和名称为何没有区别
==========================

#### 问题现象

需要在一个工程项目中，构建多个不同的APP，不同product拥有不同的bundleName、应用名称、应用图标。但是构建完后，并不能根据当前的product配置的信息替换AppScope文件下的app.json5里面的默认内容。

#### 背景知识

app.json5中的icon和label改变的是设置中显示的图标和名称。例如：

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/40/v3/gAOo_avISAONBxi6pQc5iw/zh-cn_image_0000002658807325.png?HW-CC-KV=V1&HW-CC-Date=20260709T134344Z&HW-CC-Expire=86400&HW-CC-Sign=5D8C254616E1BBDE5DD8FD1501C8A0606A1B9790BCCD81F2878486AB4BC5F84A "点击放大")

正常使用DevEco Studio推送安装到手机的是HAP包，而HAP包里的icon和label是由module.json5文件决定的。例如：

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/e3/v3/RzSwgEkSRuiwx4DCfJyryA/zh-cn_image_0000002628408064.png?HW-CC-KV=V1&HW-CC-Date=20260709T134344Z&HW-CC-Expire=86400&HW-CC-Sign=65551E05CD8233C722BEE852ACA76E272FE20AD55417AD2405CFF28E9F353861 "点击放大")

要在工程级build-profile.json5文件products中配置不同的APP产物，并配置对应icon和label来覆盖app.json5里面的默认内容：

{
  "app": {
    "signingConfigs": \[\],
    "products": \[
      {
        "name": "default",
        "signingConfig": "default",
        "compatibleSdkVersion": "5.0.0(12)",
        "runtimeOS": "HarmonyOS",
        "icon":"$media:default\_icon", _// 定义default的icon_
        "label":"$string:default\_name", _//_ _定义default的label_
      },
      {
        "name": "productA",
        "signingConfig": "default",
        "compatibleSdkVersion": "5.0.0(12)",
        "runtimeOS": "HarmonyOS",
        "icon":"$media:productA\_icon", _// 定义productA的icon_
        "label":"$string:productA\_name", _// 定义productA的label_
      },
    \],
    "buildModeSet": \[
      {
        "name": "debug",
      },
      {
        "name": "release"
      }
    \],
    "modules": \[
      {
        "name": "entry",
        "srcPath": "./entry",
        "targets": \[
          {
            "name": "default",
            "applyToProducts": \[
              "default"
            \]
          },
          {
            "name": "productA",
            "applyToProducts": \[
              "productA"
            \]
          }
        \]
      }
    \]
  }
}

HAP包中模块级的build-profile.json5定制对应的target产物，来覆盖module.json5中的配置：

{
  "apiType": 'stageMode',
  "buildOption": {
  },
  "targets": \[
    {
      "name": "default",
      "source": {
        "abilities": \[
          {
            "name": "EntryAbility",
            "icon":"$media:default\_icon",
            "label":"$string:default\_name"
          }
        \]
      }
    },
    {
      "name": "productA",
      "source": {
        "abilities": \[
          {
            "name": "EntryAbility",
            "icon":"$media:productA\_icon",
            "label":"$string:productA\_name"
          }
        \]
      }
    }
  \]
}

#### 问题定位

HAP包中build-profile.json5是否定制对应的target产物，来覆盖module.json5中的配置。

#### 修改建议

针对HAP包也定制对应的target产物，并定制不同的icon、label。

#### 分析结论

product中的icon和label改变设置中显示的图标和名称，应用桌面的图标和名称是由HAP包的icon和label决定的。

可通过打包后的产物来检查是否配置正确：

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/f6/v3/7Uzub7JtQRu7uF72nYfanw/zh-cn_image_0000002628567960.png?HW-CC-KV=V1&HW-CC-Date=20260709T134344Z&HW-CC-Expire=86400&HW-CC-Sign=74359BAD6A48C324EC3C338087BB47463AA84FC1F3A1EBE1DF57082D46907094 "点击放大")

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/6/v3/wAf_cV1ySEGcbrviipokCw/zh-cn_image_0000002658927283.png?HW-CC-KV=V1&HW-CC-Date=20260709T134344Z&HW-CC-Expire=86400&HW-CC-Sign=9232C62F7ED787CFCC7E66EF261A80AFED5E9FEA88AB5F341EE4C3B15BEF9E24 "点击放大")

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/a4/v3/K_Kbh2KNRM6_l49yBvkzdA/zh-cn_image_0000002658807327.png?HW-CC-KV=V1&HW-CC-Date=20260709T134344Z&HW-CC-Expire=86400&HW-CC-Sign=2C7758D91190C9982909AA784CA621CF7B93B6AE8E108A3DD883804E732BC2C4 "点击放大")

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/fa/v3/AQF5q4xQRsmAO2jctZjuJg/zh-cn_image_0000002628408066.png?HW-CC-KV=V1&HW-CC-Date=20260709T134344Z&HW-CC-Expire=86400&HW-CC-Sign=187BCE26BB30091B1BD3B36158BD287782700F99F424D853709CD8FE5F7CF5BA "点击放大")

附：配置多目标产物-[定义产物的icon、label、launchType](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-customized-multi-targets-and-products-guides#section82111917125413)。