HarmonyOS 鸿蒙Next中构建多个不同的APP产物-icon和名称为何没有区别

HarmonyOS 鸿蒙Next中构建多个不同的APP产物-icon和名称为何没有区别 构建多个不同的APP,不同product拥有不同的bundle name、应用名称、应用图标。但是构建完后,并不能根据当前的product配置的信息替换Appscope文件下的app.json5里面的默认内容。该如何做?

2 回复

在HarmonyOS Next中,多个应用构建后图标和名称相同,是因为未在AppScope目录下的app.json5文件中为每个应用配置独立的bundleName、icon和label。每个应用的配置需在各自的module.json5中定义,确保bundleName唯一,icon和label资源路径正确。检查项目结构,确认每个应用模块有独立的资源文件夹,避免共享配置导致产物重复。

更多关于HarmonyOS 鸿蒙Next中构建多个不同的APP产物-icon和名称为何没有区别的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next中,构建不同APP产物时,若icon和名称未按product配置更新,可能是因为app.json5中的字段未被正确覆盖。建议检查以下配置:

  1. 模块级build-profile.json5:确保每个product节点正确定义了signingConfig和deviceConfig,其中包含bundleName字段。例如:

    "products": [
      {
        "name": "product1",
        "signingConfig": "default",
        "deviceConfig": {
          "bundleName": "com.example.app1"
        }
      }
    ]
    
  2. AppScope下的app.json5:此文件中的icon和label字段通常作为默认值。若需基于product动态替换,需在构建配置中明确映射。例如,在build-profile.json5中为不同product指定资源目录:

    "buildModeSet": {
      "product1": {
        "resourcePath": "resources/product1"
      }
    }
    

    然后在对应资源目录(如resources/product1/base/media/icon.png)中放置专属图标,并在string.json中定义应用名称。

  3. 构建命令:使用--product-name参数指定目标product,例如:

    ./gradlew assembleHap --product-name product1
    

    确保构建时正确加载了对应配置。

检查构建日志,确认是否应用了指定product的配置。若问题仍存在,验证资源路径和字段优先级,确保product配置覆盖了默认值。

回到顶部