uniapp转鸿蒙app内部测试发布过程——踩坑记录

uniapp转鸿蒙app已经有文档记录总流程,可参考ask.dcloud.net.cn/article/420...

这里记录下目前碰到的坑,后续会继续补充

获取文件.hap的哈希值

打开window PowerShell输入

sql 复制代码
Get-FileHash -Path "D:test\...\entry-default-signed.hap" -Algorithm SHA256 

path填hap文件绝对路径

获取json5文件签名

下载签名工具

直接执行manifest-sign.bat

使用样例:

diff 复制代码
-operation sign -mode localjks -inputFile C:\xxx\adhoc.json5 -outputFile C:\xxx\adhocnew.json5 -keystore C:\xxx\adhoc.p12 -keystorepasswd Huaxxx -keyaliaspasswd Huaxxx -privatekey huawei

注意更换路径和别名

这里需要注意jdk版本信息,建议直接下载最新版本jdk

less 复制代码
ERROR com.huawei.operation.OperationServiceImpl - Failed to load keystore when sign with exception: parseAlgParameters failed: ObjectIdentifier() -- data isn't an object ID (tag = 48)
2025-10-31 15:50:34.355 [main-63] INFO  com.huawei.ManifestSignTool - sign result: fail.

这个错误就是因为版本问题

下载安装包时报错误码10008

报这个错误是描述文件(manifest.json5)中图标(icons)资源的配置不对,

注意看下链接能否下载

安装包过程中报错10020

错误码 10020 的含义是 安装包完整性校验失败。这表示系统计算的安装包哈希值与你提供的校验值不匹配。

这个需要注意下,你们每次生成.hap文件时,都要重新生成一次哈希值,每次会发生变化

同样mani.json5发生变化时,也要注意下重新生成签名

安装包过程中报错10021

错误码 10021 的核心问题是 安装包证书校验失败。这通常意味着系统在验证应用签名时,发现用于签名的证书与当前安装环境不匹配。

这个时候排查下证书与Profile是否匹配

添加profile时要选择内部测试,同时证书选择发布证书

相关推荐
史瓦辛格几秒前
给 DeepSeek Harness 写费用插件:把「这次会话花了多少钱」算准
前端·deepseek
星光不问赶路人2 分钟前
Vue 3 + TypeScript 中 enum 的使用实践
前端·vue.js
鸥梨菌Honevid4 分钟前
UVM 中 REQ 和 RSP 类型详解:从通信模型到 item_done 与 put_response
java·前端·servlet
IT_陈寒6 分钟前
Python多进程共享变量这个坑,差点让我加班到凌晨
前端·人工智能·后端
鸿蒙开发12 分钟前
PDF 盖黑框不等于脱敏:用 PDF.js + Canvas + pdf-lib 实现永久遮盖
前端·react.js
xixingzhe221 分钟前
Nginx 看懂请求耗时瓶颈
服务器·前端·nginx
Lank_M22 分钟前
前端AVIF编码方案评审,九个想当然逐个实测
前端
程序员鱼皮30 分钟前
我用 REA 逆向了付费颜色 APP,结果很意外!
前端
志尊宝44 分钟前
Vue3 零基础每日笔记(087):Vue3 高频面试题(下)
前端·javascript·vue.js·笔记·ecmascript·#vue.js
OH_TPC1 小时前
HarmonyOS APP开发---“习惯猫“习惯打卡App,需要用到这个库
华为·harmonyos·鸿蒙