HarmonyOS 鸿蒙Next中新建一个工程,然后自动生成签名,再改动包名,重新生成签名这时候就会报错

HarmonyOS 鸿蒙Next中新建一个工程,然后自动生成签名,再改动包名,重新生成签名这时候就会报错 时间校验问题 - 已排除
清理DevEco缓存 - 已排除

包名改完后是自动再生成签名的

还有什么其他的原因吗

报错信息:
cke_4331.png

版本:
cke_9008.png


更多关于HarmonyOS 鸿蒙Next中新建一个工程,然后自动生成签名,再改动包名,重新生成签名这时候就会报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html

8 回复

【解决方案】

出现该报错是由于PC的系统时间与北京时间不一致。请将PC的系统时间与北京时间调整为一致,然后重新签名。步骤如下:

  1. 关闭自动签名弹窗;
  2. 右键点击电脑右下角时间,选择(调整日期、时间);
  3. 点击立即同步;
  4. 同步完成后会有√。此操作需要电脑联网;
  5. 重新自动签名即可;
  6. 使用Mac电脑开发时,如果以上方法仍未解决问题,需关闭自动同步时间,手动修改系统时间与北京时间一致,精确到秒;
  7. 如果重置时间后仍不能正确签名,有可能是因为VPN把系统时间覆盖了。请检查是否打开或打开过VPN。若有,请重置一下VPN或把VPN的节点设置到国内IP。

更多关于HarmonyOS 鸿蒙Next中新建一个工程,然后自动生成签名,再改动包名,重新生成签名这时候就会报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


升级了5.1.1的开发版本就好了,

HarmonyOS的社区里有很多技术大牛分享经验,学到了很多有用的知识。

好的,后续使用存在问题再提单反馈,

自动生成的签名文件(.p7b/.cer)会与原始包名强绑定

修改包名后需同步修改工程根目录的build-profile.json5中的bundleName字段

可以尝试如下方案

1.强制刷新签名文件

# 删除旧签名文件
rm -rf ./signing/material

2.修改工程根目录build-profile.json5:

"signingConfigs": [{
  "name": "default",
  "material": {
    "certpath": "signing/xxx.cer",
    "profile": "signing/xxx.p7b",
    "bundleName": "新包名" // 必须与app.json一致
  }
}]

3.通过命令行工具验证签名有效性:

java -jar hap-sign-tool.jar get-profile-info signing/xxx.p7b

升级了5.1.1的开发版本就好了,

在HarmonyOS Next中,修改包名后重新生成签名报错,是因为签名文件与包名绑定。首次生成签名时,系统将包名与签名证书关联。更改包名后,原签名无法验证新包名,导致签名失败。需使用新包名重新创建签名文件,或修改回原包名。

在 HarmonyOS Next 中修改包名后重新生成签名报错,通常与签名配置的冲突或缓存残留有关。以下是常见原因及解决方法:

  1. 签名文件未同步更新
    修改包名后,自动生成的签名可能未正确关联到新包名。检查 build-profile.json5 中的 signingConfig 配置,确保 bundleName 与修改后的包名一致,并删除旧的签名配置。

  2. 缓存未彻底清理
    除了清理 DevEco Studio 缓存,还需手动删除工程目录下的 build 文件夹和 .idea 目录,然后重启 IDE 重新构建。

  3. 签名证书冲突
    包名变更后,旧签名证书可能仍被系统引用。尝试在 File > Project Structure > Project > Signing Configs 中移除原有签名,重新生成新签名。

  4. Gradle 配置未刷新
    修改包名后,同步 Gradle 配置(点击 Sync Now),确保构建脚本识别新包名和签名。

若问题仍存在,检查报错截图中的具体错误日志,确认是否涉及证书路径或权限问题。

回到顶部