HarmonyOS鸿蒙Next中使用手动签名报错Error Message:The bundleName in app.json does not match the bundleName in the generated SigningConfigs如何解决?

HarmonyOS鸿蒙Next中使用手动签名报错Error Message:The bundleName in app.json does not match the bundleName in the generated SigningConfigs如何解决? 使用手动签名报错Error Message:The bundleName in app.json does not match the bundleName in the generated SigningConfigs如何解决?

cke_309.png


更多关于HarmonyOS鸿蒙Next中使用手动签名报错Error Message:The bundleName in app.json does not match the bundleName in the generated SigningConfigs如何解决?的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

该错误源于app.json中的bundleName与签名配置中的bundleName不一致。请检查并确保两个文件中的bundleName完全一致,包括大小写。

更多关于HarmonyOS鸿蒙Next中使用手动签名报错Error Message:The bundleName in app.json does not match the bundleName in the generated SigningConfigs如何解决?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


这个错误表明你的应用配置文件 app.json5 中的 bundleName 与签名配置文件中指定的包名不匹配。这是手动签名配置中的常见问题。

根本原因: HarmonyOS应用的签名配置文件(通常为 signature 目录下的 .csr.cer.p7b 等文件)在生成时,其内部信息已经绑定了一个特定的 bundleName(应用包名)。当你手动配置签名时,DevEco Studio 会读取这些签名文件中的包名信息,并与你项目的 app.json5 文件里声明的 bundleName 进行比对。两者必须完全一致,否则就会报此错误。

解决方案:

请按以下步骤检查和修正:

  1. 核对 app.json5 文件中的 bundleName 打开项目根目录下的 AppScope > app.json5 文件。找到 "bundleName" 字段,确认其值。例如:"bundleName": "com.example.myapplication"。请完整、准确地记录这个值。

  2. 核对签名配置中的 bundleName

    • 打开项目的 build-profile.json5 文件。
    • 找到 "signingConfigs" 配置项,查看你正在使用的手动签名配置(例如 "debug""release")。
    • 确认其中 "signingConfig" 下的 "bundleName" 字段的值。这个值必须与第1步中 app.json5 里的 bundleName 一字不差
  3. 修正不匹配:

    • 情况A:build-profile.json5 中的 bundleName 错误。 这是最常见的情况。直接将 build-profile.json5signingConfigs 下的 "bundleName" 修改为与 app.json5 中完全相同的字符串。
    • 情况B:签名文件本身是为另一个 bundleName 生成的。 如果你的签名证书(.p7b)和Profile文件(.cer)是从其他项目复制过来的,或者最初生成时填写的包名与当前项目不同,那么它们就不可用。 你需要为当前项目的 bundleName 重新生成一套签名文件。 请通过 AppGallery Connect 网站,使用正确的 bundleName(即 app.json5 中的包名)来申请新的调试或发布证书及Profile文件,并替换项目 signature 目录下的旧文件。
  4. 同步与清理构建: 修改并保存配置文件后,点击IDE右上角的 “Sync Now” 同步项目。如果问题依旧,可以尝试 “Build > Clean Project” 清理项目,然后重新构建。

总结关键点: 确保 app.json5 中的 bundleNamebuild-profile.json5signingConfigs 下的 bundleName 以及生成签名证书时使用的包名,这三者完全一致,即可解决此错误。

回到顶部