鸿蒙V6.1版本,内置不了hap
我自己开发了一个录音hap,根据板子的UDID自动签名后放入到SDK里去内置到固件里,结果发现在一块板子上有内置进去,在其他板子上就不行,报错。有没有大佬麻烦看看能不能解决,附件有完整的日志,下图是具体报错

您需要先 登录 才能评论/回答
全部评论(5)
| 问题 | 根因 | 解决办法 |
|---|---|---|
current device is not authorized |
HAP 签名绑定了板子 A 的 UDID,刷到板子 B 上 | 去掉 device-id 绑定,改用通用签名 |
| 手动重命名 HAP | 与本次错误无关 | 建议保持 bundleName 与文件名一致 |
最可能的情况:你的自动签名脚本在 device-ids 里写死了第一块板子的 UDID,导致其他板子校验失败。检查一下签名配置文件或签名命令,把设备绑定去掉即可
2026-08-19 16:06:15
可以先到预装目录(根据你的hap会有不同,名字类似/system/app/com.xxx.hapname/),到该目录下直接执行 bm install -p ./xxx.hap看它报什么错。
预装失败大概率是权限配置错误,你可以先在开发板上调试,通过之后再重新打包。配置文件路径/system/etc/app涉及install_list.json,install_list_capability.json,这里面有些系统预装HAP的配置可参考
预装HAP配置 /system/etc/app/目录
install_list.json install_list_capability.json
手动拷贝文件
PS D:\tmp> hdc shell mount / -o rw,remount
PS D:\tmp> hdc file send install_list_capability.json /system/etc/app/install_list_capability.json
另外要注意检查这个文件有没有错误(sha256sum, 文件大小)。调试好了再去系统源码下修改,仓库vendor/hihope/rk3568(这是dayu200默认的路径,产品变了路径可能不一样)
2026-08-17 17:35:14
换板子了可以重新签名试下,你用的是"自动签名"生成的调试签名,这个 HAP 的签名里绑定了那块板子的 UDID。 你按某块板的 UDID 签出来的 HAP,只有那块板能装上。
2026-08-17 16:54:54
