HarmonyOS鸿蒙Next中调试签名报错9568322

HarmonyOS鸿蒙Next中调试签名报错9568322 Install Failed: error: failed to install bundle.

code:9568322

error: signature verification failed due to not trusted app source.

View detailed instructions.

10:45:31.080: $ hdc shell rm -rf data/local/tmp/e2e4b981abf840fb931e0dd45c592246

10:45:31.080: Launch com.xkc.xkclife failed, starting handle failure progress

Error while Deploy Hap

自动签名与手动签名均报错,设备已经添加:

SingningConfig不知道怎么切换为调试模式,即使使用手动签名的调试的证书还是显示release


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

10 回复

开发者您好,错误码9568322表示由于应用来源不可信,签名验证失败。可能原因如下:

  • 场景一:签名时使用了发布profile文件。发布证书签名的应用不能启动调试或运行。
  • 场景二:在build-profile.json5文件中,配置的profile文件与.cer文件不匹配。
  • 场景三:签名中未包含该调试设备的UDID。

相应处理步骤如下:

  • 场景一:使用调试profile文件重新签名应用。
  • 场景二:请确保profile文件是由配置中的.cer文件生成的,可以登录AppGallery Connect,选择“证书、APP ID和Profile”,在左侧导航栏选择“证书、APP ID和Profile > Profile”,进入“Profile”页面,选择配置的profile文件,右侧操作点击“查看”,确认“查看Profile”页面中“归属证书”是否与配置的.cer文件一致。
  • 场景三:使用自动签名。在连接设备后,重新为应用进行签名。

根据您的描述,请您重点排查下是否存在场景一和场景二情况。如果依旧未能解决您的问题,请您再反馈。

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


1、查看DevEco Studio中的这里有没有跟对应的签名匹配上

cke_6874.png

如果不是,请按照这个进行排查:【官方文档_签名错误码:9568322】

cke_1087.png

建议删除根目录下build_profile.json5中的签名信息,改为使用自动签名进行调试,看下是否还报错。这种情况应该是有个签名文件混用了。

这个报错 9568322 (signature verification failed due to not trusted app source) 非常经典。

根本原因在于:你正在尝试用一套发布(Release)签名配置,去安装到一个仅信任调试(Debug)证书的普通开发测试设备上。

从你的截图中可以明确看到:

  1. 图 1:报错提示“不受信任的应用来源”。
  2. 图 2:你拥有有效的调试证书(...moryos_debug)。
  3. 图 3(关键点):DevEco Studio 的 Product Info 中,SigningConfig 被锁定显示为 release

这就是问题所在:IDE 当前处于 Release 构建模式,或者配置被强制锁定为了 Release,导致无法切换到调试模式。

请按照以下步骤逐步排查解决:

第一步:修改构建模式(最直接的解法)

你的截图 3 中,右上角的 Build Mode 显示为 <Default>,而下方的 SigningConfig 显示为 release。这通常意味着当前上下文默认加载了 Release 配置。

  1. 点击截图 3 右上角的 <Default> 下拉框。
  2. 手动选择 debug 模式。
  3. 一旦选择 debug,下方的 SigningConfig 应该会自动变为 default(对应 Debug 签名)。
  4. 点击 Apply,然后重新运行。

第二步:检查 build-profile.json5 配置

如果第一步无法选择 debug,或者选择后无效,说明你的工程配置文件中可能锁死了签名配置。

  1. 打开工程根目录下的 build-profile.json5 文件。
  2. 检查 product 节点下的配置。确保你的当前产品(default 或其他)没有强制指定 signingConfigrelease

错误示例(请避免):

"product": {
    "name": "default",
    "signingConfig": "release", // <--- 如果这里写死为 release,IDE 就会强制用发布证书
    ...
}

正确做法:

将其修改为 default,或者在 buildMode 维度下区分:

"product": {
    "name": "default",
    "signingConfig": "default", // <--- 改为 default,让它自动适配
    ...
}

第三步:检查 hvigorfile.ts (如果使用了自定义脚本)

如果你的项目根目录或模块目录下有 hvigorfile.ts,检查是否有脚本强制修改了构建任务的签名配置。通常默认生成的文件不会有这个问题,但如果是从旧项目迁移或复制的配置,可能会有硬编码。

第四步:清理并重新同步

修改配置后,IDE 可能仍有缓存。

  1. 点击菜单栏 Build -> Clean Project
  2. 点击菜单栏 File -> Sync Project with Gradle Files (或点击工具栏的 Sync 按钮)。
  3. 再次尝试运行。

总结

你遇到的 9568322 错误是因为用 Release 证书签名的包,无法安装到未授权的开发机上

核心解决逻辑:必须在 Product Info 界面将 SigningConfig 切换回 default(即调试模式)。只要那里显示 release,你就必须去 build-profile.json5 里把写死的 release 改掉。

这是 HarmonyOS 的签名来源不受信任错误,9568322 表示设备不认可这个签名

可能原因(按可能性排序):

  1. 调试证书没有被设备信任(最常见)
  2. 设备未开启"开发者模式"
  3. build.gradle 里的 SigningConfig 没有正确绑定到 debug 构建类型
  4. 使用了 Release 签名去打调试包
  5. 设备没有添加到 AppGallery Connect 项目中

你按照下面的步骤排查一下

检查项 操作
设备开启开发者模式 设置里开启
设备已授权 DevEco Device Manager 里 Trust
设备 UDID 在 AGC 注册 AGC → 用户与访问 → 设备管理
build.gradle 绑定正确 debug 用 debug 签名
Build Mode 选 Debug DevEco Studio 右上角
调试证书未过期 keytool 检查

你好,signingConfig 字段的配置在根目录的 build-profile.json5 products[] 中,

可以修改为 signingConfigs[] 中对应的签名配置名称。比如我定义了4种配置:

在调试时,使用 cxyDebug 配置。

打内部测试包时,使用 test 配置。

提交版本打包时,使用 release 配置。

签名配置参考

看你的报错,修改 productsigningConfig 字段为 default 即可。release 作为发布打包时使用,不可用来调试。

9568322 由于应用来源不可信,签名验证失败

可能原因

  • 场景一:签名时使用了发布profile文件。发布证书签名的应用不能启动调试或运行。
  • 场景二:在build-profile.json5文件中,配置的profile文件与.cer文件不匹配。
  • 场景三:签名中未包含该调试设备的UDID。

处理步骤

官方文档给出两种可能原因:签名中未包含该调试设备的UDID。签名时使用了发布证书和发布profile文件。发布证书签名的应用不能启动调试或运行。

或者还有一种可能是签名使用的调试证书与调试profile不匹配,调试profile是由其他证书所生成的。

错误码9568322表示调试签名证书与设备的UDID不匹配。请检查以下步骤:

  1. 确认agconnect-services.json文件中的证书指纹与本地签名文件一致。
  2. 重新生成调试签名证书,并在AppGallery Connect中更新设备白名单。
  3. 确保签名文件路径在build.gradle中正确配置,且设备已添加至项目调试设备列表。

错误码9568322表示签名验证失败,原因是应用来源不被信任。核心问题在于签名配置使用了Release模式而非Debug模式。

从截图可见,SigningConfig显示为Release,尽管你尝试了手动签名和自动签名。手动签名时,如果证书类型是发布证书而非调试证书,就会出现此问题。

原因明确:HarmonyOS Next对调试和发布签名严格区分。调试签名必须使用调试证书(Debug Certificate),发布签名才用发布证书(Release Certificate)。你的设备已添加至调试设备列表,但签名配置仍为Release。

技术细节:自动签名模式下,DevEco Studio会根据“Project Files”中的build-profile.json5生成签名配置。若该文件内signingConfig字段未指定debug模式,或自动签名生成的证书类型错误,会导致最终签名配置为Release。手动签名时,若选择了发布证书(.cer文件类型为发布),同样会触发此错误。

正确配置:在build-profile.json5中,签名类型应设置为signMode: "debug",并确保对应的.p7b.cer文件为调试证书。调试证书的颁发对象通常是“开发者调试”或类似标识。设备列表中的“允许调试”状态必须为绿色勾选。

检查点:确认SigningConfigs下拉菜单是否有“debug”选项;若没有,需在“Project Structure”中新增Debug配置,并关联调试证书。若自动签名后仍显示Release,尝试清空build-profile.json5中的signingConfig字段,重新触发自动签名。

回到顶部