HarmonyOS鸿蒙Next中在多个设备进行真机调试是不是只能手动签名

HarmonyOS鸿蒙Next中在多个设备进行真机调试是不是只能手动签名 业务需要在两台平板上轮番调试两个软件,发现自动签名只能给一台平板,在另一台平板上就失效。手动签名是不是就能在多个设备上真机调试。

9 回复

【背景知识】

  • 自动签名是一种由系统自动生成签名文件的流程,主要用于简化开发者的操作并提高效率。在HarmonyOS中,自动签名可以帮助开发者快速进行应用的调试和测试。
  • 手动签名:HarmonyOS应用/元服务通过数字证书(.cer文件)和Profile文件(.p7b文件)来保证应用/元服务的完整性。需手动将密钥(.p12)文件、数字证书(.cer)文件和Profile(.p7b)文件配置到工程中。

【解决方案】

调试HarmonyOS应用/元服务,支持使用真机设备、模拟器、预览器调试。在使用真机调试时,提供了两种以下签名方式,详情可参考官网文档:调试HarmonyOS应用/元服务概述

您的使用场景中涉及多设备进行调试,建议使用手动签名。

更多关于HarmonyOS鸿蒙Next中在多个设备进行真机调试是不是只能手动签名的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


建议把你的调试签名放到项目内,通过相对路径的形式使用。这样就不用切换了,也正常在多个设备使用了。

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17

手动签名可以,其实自动也可以的,不过要先把所有调试设备的 UDID 都添加到 AGC 的设备列表里,就可以了。具体的参考下面:

一、自动签名 “另一台设备失效” 的原因

DevEco Studio 的自动签名依赖 AGC(AppGallery Connect)的 “设备管理” 列表

  • 自动签名生成的证书,会与 AGC 中已添加的设备 UDID绑定;
  • 若另一台平板未被添加到 AGC 的 “设备管理” 中,自动签名的安装包会因 “设备未授权” 而安装失败。

→ 自动签名不是只能支持 1 台设备,而是需要把所有调试设备的 UDID 都添加到 AGC 的设备列表中,即可支持多设备调试(免费开发者账号默认支持最多 10 台设备)。

二、自动签名支持多设备的操作步骤

如果想继续用自动签名,只需将另一台平板添加到 AGC 的设备管理:

  1. 打开 AGC 后台 → 进入你的项目 → 左侧菜单选择「我的项目」→「设备管理」;
  2. 点击「添加设备」,输入另一台平板的UDID(获取方式:在 DevEco Studio 中连接设备后,底部 “Log” 面板可查看 UDID;或设备「设置→关于本机→连续点击版本号→开发者选项→设备信息→UDID」);
  3. 等待 AGC 设备列表同步(约 1-2 分钟),重新在 DevEco Studio 中编译,自动签名的安装包即可在两台平板上安装调试。

三、手动签名支持多设备的优势

手动签名是自主生成证书 / Profile 文件,不依赖 AGC 的 “设备管理” 列表,因此:

  • 只要设备信任你的手动签名证书,就能直接安装调试,无设备数量限制;
  • 适合 “多设备频繁切换调试” 的场景(比如你的两台平板调试需求)。

手动签名的配置步骤(支持多设备)

  1. 生成证书和 Profile 文件
    • 在 DevEco Studio 中打开「Build→Generate Key and CSR」,生成自有证书(.p12 文件);
    • 打开 AGC 后台 → 「我的项目→项目设置→应用签名→手动签名」,上传 CSR 文件生成数字证书,再生成 Profile 文件(Profile 类型选择 “调试”,无需绑定设备 UDID)。
  2. 在 DevEco Studio 中配置手动签名
    • 打开项目的「build-profile.json5」文件,将signingConfigs切换为手动签名模式,填写证书和 Profile 的路径:
      "signingConfigs": {
        "debug": {
          "type": "manual",
          "certificatePath": "你的证书.p12路径",
          "certificatePassword": "证书密码",
          "profilePath": "你的Profile文件路径"
        }
      }
      
  3. 设备信任证书
    • 安装手动签名的安装包时,设备会提示 “证书未信任”,需进入「设置→安全→更多安全设置→从存储设备安装证书」,选择你的证书文件完成信任。

四、两种签名方式的多设备适配对比

维度 自动签名 手动签名
多设备支持 需将设备 UDID 添加到 AGC 设备列表(最多 10 台) 无设备数量限制,所有设备信任证书即可
操作复杂度 简单(AGC 添加设备即可) 略复杂(需生成证书 / Profile)
适用场景 少量设备调试、依赖 AGC 服务的项目 多设备频繁调试、不依赖 AGC 的场景

总结

  • 若想继续用自动签名:把另一台平板的 UDID 添加到 AGC 设备管理,即可支持多设备;
  • 若需要更自由的多设备调试:切换为手动签名,脱离 AGC 设备限制,直接在多台设备上安装调试。

两种方式都能解决你的两台平板调试需求,根据自己的操作习惯选择即可。

这种多设备调试的场景下,更推荐去 AGC 平台申请一下 调试证书。 详细流程参考文档: https://developer.huawei.com/consumer/cn/doc/app/agc-help-add-debugcert-0000001914263178

没遇到自动签名的问题啊,每个设备都可以自动签名的。

agc 平台不是有个 测试签名吗 , 搞个测试签名 然后给需要测试的手机开白 就可以了啊

在HarmonyOS Next中,多个设备真机调试必须使用手动签名。自动签名仅支持单设备调试。多设备调试时,需在DevEco Studio中为每个设备单独配置签名信息,包括生成和导入调试证书、配置应用签名等步骤。

是的,你的理解正确。在HarmonyOS Next中,如果需要在多台设备上进行真机调试,必须使用手动签名方式

自动签名(也称为调试签名)是IDE为方便开发者快速调试而提供的功能,但其生成的调试证书和设备Profile(描述文件)存在以下关键限制:

  1. 证书与设备绑定:自动签名默认只为当前选中的单台设备生成调试Profile。该Profile包含了特定设备的UDID,因此签名后的HAP包通常只能安装在这台设备上。
  2. 有效期短:自动签名使用的调试证书有效期很短(通常为1年),且主要用于开发阶段。

当你需要同时在设备A设备B上安装并调试同一个应用时,自动签名无法满足需求。此时,手动签名是标准解决方案:

操作核心步骤:

  1. 创建证书:在DevEco Studio中,使用“Project”视图下的 HarmonyOS App > Signing Configs 功能,创建一个正式的调试证书(类型选择“调试证书”)。
  2. 生成设备Profile:在AppGallery Connect或通过命令行工具,创建一个调试Profile。在添加设备时,必须将你所有需要调试的设备的UDID都加入该Profile
  3. 配置工程:在项目的 build-profile.json5 文件中,配置签名信息,引用你创建的证书(.p7b文件)和包含多台设备的Profile(.p7b文件)。
  4. 编译与安装:使用此配置进行编译,生成的HAP包即可安装到所有已注册在Profile中的设备上进行调试。

关键点总结:

  • 自动签名 = 快速、单设备调试。适用于仅用一台设备开发的场景。
  • 手动签名 = 灵活、多设备调试、更接近发布状态。通过将多台目标设备的UDID注册到同一个调试Profile中,即可实现一次签名,多机安装调试。

因此,对于你需要在两台平板上轮番调试的需求,配置一个包含这两台平板UDID的调试Profile并进行手动签名,是唯一的标准方法。

回到顶部