鸿蒙PC端二进制文件签名命令行使用指南(附实战测试)

鸿蒙PC端二进制文件签名命令行使用指南(附实战测试)

鸿蒙PC端执行自定义编译的ELF格式二进制文件需先完成签名操作,该流程无需复杂配置,只需完成系统升级与依赖工具安装,即可通过命令行快速实现签名并验证运行效果。

一、前置准备

1.1 设备要求

建议将鸿蒙PC设备升级至6.0.0.115及以上版本(本文测试设备为MateBook Pro,系统版本6.0.0.115),确保签名工具可正常运行。

1.2 环境依赖安装

需安装以下工具,均可通过华为应用市场直接下载:

二、核心签名命令说明

鸿蒙PC端提供binary-sign-tool命令行工具实现二进制文件自签名,核心语法如下:

复制代码
# 基础签名命令
binary-sign-tool sign -inFile "待签名文件路径/文件名" -outFile "签名后文件路径/文件名" -selfSign "1"

参数说明:

  • -inFile:指定待签名的ELF格式二进制文件(支持绝对路径/相对路径);

  • -outFile:指定签名后文件的输出路径/名称(若与原文件同名,会直接覆盖);

  • -selfSign "1":启用自签名模式(鸿蒙PC端测试场景推荐使用)。

三、实战测试示例

3.1 快速测试(tree命令)

若已编译好tree命令的ELF二进制文件,可直接执行以下命令完成自签名:

复制代码
# 对tree二进制文件自签名(覆盖原文件)
binary-sign-tool sign -inFile tree -outFile tree -selfSign "1"

签名完成后,赋予文件可执行权限即可运行:

复制代码
# 添加可执行权限
chmod +x tree
# 执行命令
./tree

3.2 完整测试(less命令行工具)

less是GNU开源的终端分页查看工具,以下为完整的签名+运行测试流程:

  1. 文件准备:将编译好的less ELF文件传输至鸿蒙PC(可通过华为分享、U盘等方式);

  2. 执行签名:打开鸿蒙终端,运行签名命令:

    复制代码
    binary-sign-tool sign -inFile less -outFile less -selfSign "1"
  3. 添加执行权限

    复制代码
    chmod +x less
  4. 验证运行效果

    复制代码
    ./less --version

    测试结果:签名后的less可正常运行,版本信息与功能均验证通过。

  1. 验证运行效果

四、关键注意事项

  1. 签名操作跨平台兼容:无论在Windows、Linux还是鸿蒙系统完成签名,生成的二进制文件均可在鸿蒙PC上运行;

  2. 权限与授权:首次执行签名后的二进制文件时,系统会弹出权限确认弹窗,确认后后续执行无需重复授权;

  3. 文件覆盖:若-outFile指定的文件名与原文件一致,会直接覆盖原文件,建议测试阶段先备份原文件。

总结

  1. 鸿蒙PC端二进制文件签名的核心命令为binary-sign-tool sign -inFile [源文件] -outFile [目标文件] -selfSign "1"

  2. 操作前需完成系统升级(6.0.0.115+)与BiShengJDK17-OH、DevBox的安装;

  3. 签名后需执行chmod +x赋予可执行权限,首次运行需确认系统权限弹窗。

相关推荐
ONEDAY19 小时前
HarmonyOS 深色模式适配实践:从资源、WebView 到网络图统一处理
harmonyos
鸿蒙开发2 天前
鸿蒙(HarmonyOS NEXT)表单校验别再手撸正则了 —— 我写了个 ArkTS 版 zod
harmonyos
TrisighT2 天前
ArkTS 的 @BuilderParam 你八成只用了皮毛——那个尾随闭包写法差点被我当 bug 删了
harmonyos·arkts·arkui
ONEDAY3 天前
HarmonyOS 多 Product 构建实践:一套代码生成多个产物
harmonyos
TT_Close3 天前
别劝退了!5秒搞定 Flutter 鸿蒙 FVM 起跑线
flutter·harmonyos·visual studio code
TrisighT3 天前
ArkTS 列表滚动时为什么会闪现旧数据?我扒了 LazyForEach 的复用逻辑
harmonyos·arkts·arkui
MonkeyKing3 天前
鸿蒙ArkTS深度剖析:ArkTS与TS/JS核心差异、静态强类型实战优势
typescript·harmonyos
TrisighT3 天前
Electron鸿蒙PC上写日志文件,我被权限和路径坑了两次
electron·harmonyos
TrisighT4 天前
一个下午搞定 ArkTS 折叠面板?结果我从两点写到晚上九点
harmonyos·arkts·arkui
花椒技术6 天前
HJPusher / HJPlayer SDK 实践:我们为什么把直播推播链路拆成一套可复用能力
设计模式·harmonyos·直播