HarmonyOS 鸿蒙Next 多签名打包报错

发布于 1周前 作者 yibo5220 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 多签名打包报错
项目配置了debug和release签名证书,在products中指定了两种打包方式。构建app时候报错, hvigor ERROR: No HAP found for the APP.

Detail: Check the build-profile.json file of the project root directory and make sure at least one target is set to specified product: release in applyToProducts.

2 回复

检查下工程级的build-profile.json5,是不是没有给product设置target,类似如下内容

{ 
  "app": { 
    "signingConfigs": [],
    //此处通过界面配置签名后会自动生成相应的签名配置,本文略 
    "products": [ 
      { 
        "name": "default", 
        "signingConfig": "default",
        "compatibleSdkVersion": "5.0.0(12)", 
        "runtimeOS": "HarmonyOS", 
        "bundleName": "com.example00.com"  
      }, 
      { 
        "name": "productA", 
        "signingConfig": "productA",
        "compatibleSdkVersion": "5.0.0(12)", 
        "runtimeOS": "HarmonyOS", 
        "bundleName": "com.example01.com"  
      }, 
      { 
        "name": "productB", 
        "signingConfig": "productB",  
        "compatibleSdkVersion": "5.0.0(12)", 
        "runtimeOS": "HarmonyOS", 
        "bundleName": "com.example02.com" 
      } 
    ], 
  "modules": [ 
    { 
      "name": "entry", 
      "srcPath": "./entry", 
      "targets": [ 
        { 
          "name": "default",  //将default target打包到default APP中 
          "applyToProducts": [ 
            "default" 
          ] 
        }, 
        { 
          "name": "free",  //将free target打包到productA APP中 
          "applyToProducts": [ 
            "productA" 
          ] 
        }, 
        { 
          "name": "pay",  //将pay target打包到productB APP中 
          "applyToProducts": [ 
            "productB" 
          ] 
        } 
      ] 
    } 
  ] 
} 
{ 
  "app": { 
    "signingConfigs": [],
    //此处通过界面配置签名后会自动生成相应的签名配置,本文略 
    "products": [ 
      { 
        "name": "default", 
        "signingConfig": "default",
        "compatibleSdkVersion": "5.0.0(12)", 
        "runtimeOS": "HarmonyOS", 
        "bundleName": "com.example00.com"  
      }, 
      { 
        "name": "productA", 
        "signingConfig": "productA",
        "compatibleSdkVersion": "5.0.0(12)", 
        "runtimeOS": "HarmonyOS", 
        "bundleName": "com.example01.com"  
      }, 
      { 
        "name": "productB", 
        "signingConfig": "productB",  
        "compatibleSdkVersion": "5.0.0(12)", 
        "runtimeOS": "HarmonyOS", 
        "bundleName": "com.example02.com" 
      } 
    ], 
  "modules": [ 
    { 
      "name": "entry", 
      "srcPath": "./entry", 
      "targets": [ 
        { 
          "name": "default",  //将default target打包到default APP中 
          "applyToProducts": [ 
            "default" 
          ] 
        }, 
        { 
          "name": "free",  //将free target打包到productA APP中 
          "applyToProducts": [ 
            "productA" 
          ] 
        }, 
        { 
          "name": "pay",  //将pay target打包到productB APP中 
          "applyToProducts": [ 
            "productB" 
          ] 
        } 
      ] 
    } 
  ] 
}

可以参考下文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-customized-multi-targets-and-products-guides-V5#section680552311459

更多关于HarmonyOS 鸿蒙Next 多签名打包报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对“HarmonyOS 鸿蒙Next 多签名打包报错”的问题,这里提供可能的解决方案方向,不涉及Java或C语言内容:

在鸿蒙系统中进行多签名打包时遇到报错,通常可能涉及签名配置、签名文件的有效性、打包工具的使用方式等方面。

  1. 检查签名文件:确保所有用于签名的证书文件(如.pem或.p12)是有效的,未过期,且格式正确。同时,检查签名文件中的密钥是否与打包的应用匹配。

  2. 签名配置:在打包配置文件中(如build.json或类似文件),确保为每个签名正确配置了路径、别名、密码等信息。注意,鸿蒙系统可能对签名的配置有特定要求,需参照官方文档进行配置。

  3. 打包工具版本:确认使用的打包工具(如hbx、DevEco Studio等)是最新版本,或者至少是与鸿蒙系统版本兼容的版本。旧版本的工具可能不支持某些新特性或修复了已知的打包问题。

  4. 查看报错信息:详细阅读并分析打包过程中的报错信息,它通常会指出问题所在,如签名验证失败、文件缺失等。

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部