HarmonyOS 鸿蒙Next是否支持app重签名,或者不依赖DevEco Studio,直接命令行构建app
HarmonyOS 鸿蒙Next是否支持app重签名,或者不依赖DevEco Studio,直接命令行构建app 背景:
开发工具DevEco Studio,语言:Java,编译构建APP发布市场。当前官方文档指导的方式,是依赖DevEco Studio,Build > Build APP(s)/Hap(s) > Build APP(s)构建app
问题:
是否支持app重签名,或者不依赖DevEco Studio,直接命令行生成app?
具体场景:
公司用于发布应用的签名证书,一般是不会给到开发人员的,担心人员流动造成证书泄露。大部分由技术负责人持有,或者放在平台,自动化签名打包。
按照当前文档指导,要打包上市场,就必须在技术负责人那边配置DevEco Studio,拉代码才能进行打包。如果开发测试没问题,但打包构建有问题,还得反复折腾。
能否可以和Android一样,先打出release包,然后再命令行依赖正式签名证书重新签名;或者命令行直接依赖正式签名证书编译构建app。这两种方式都可以直接写成脚本,不需要再有人员介入。
更多关于HarmonyOS 鸿蒙Next是否支持app重签名,或者不依赖DevEco Studio,直接命令行构建app的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
楼主你好,按此方法签名,已经提供给资料编入对外文档中,文档即将正式发布。
在执行如下操作前,建议将app包、拆包工具、签名工具、密钥库文件、调试证书、Profile文件存放到同一个文件夹。 打开命令行工具,并进入拆包工具所在目录,执行如下命令,将app拆包为hap包。
java -jar hmos_app_unpacking_tool.jar --mode app --app-path myApplication-release.app --out-path ~/harmonyos/app/out --force true --unpackapk false
关于该命令中需要修改的参数说明如下,其余参数不需要修改:
app-path
:指定需要拆分的app包。out-path
:指定hap包存储路径,该路径不能与app包存放在同一个目录下。force
:取值为true,表示强制删除输出文件夹中的所有文件。
进入签名工具所在目录,执行如下命令,对拆分出的hap包进行签名。
java -jar hapsigntoolv2.jar sign -mode localjks -privatekey myApplication_debug -inputFile entry-release-rich.hap -outputFile signed_entry-release-rich.hap -signAlg SHA256withECDSA -keystore myApplication_debug.p12 -keystorepasswd ab123456 -keyaliaspasswd ab123456 -profile myApplication_debug.p7b -certpath myApplication_debug.cer -profileSigned 1
关于该命令中需要修改的参数说明如下,其余参数不需要修改:
privatekey
:密钥的别名信息,与创建密钥库文件时“Alias”取值保持一致。inputFile
:需要签名的hap包名称。outputFile
:签名后的hap包名称。keystore
:密钥库文件。keystorepasswd
:密钥库密码。keyaliaspasswd
:密钥密码。profile
:申请的Profile文件。certpath
:申请的调试证书文件。
前提条件
说明:
对于拆包后的hap包进行签名,由于使用的是命令行工具进行签名,不能使用DevEco Studio自动签名方案生成的证书文件,需要手动制作密钥库文件、申请调试证书和Profile文件。
- 下载app包拆包工具hmos_app_unpacking_tool.jar。
- 下载hap包签名工具hapsigntoolv2.jar。
- 已提前准备密钥库文件(.p12)、调试证书(.cer)和Profile文件(.p7b)。其中:
- 密钥库文件制作请参考生成密钥和证书请求文件。
- 调试证书和Profile文件申请,请参考手动申请调试证书和Profile。
更多关于HarmonyOS 鸿蒙Next是否支持app重签名,或者不依赖DevEco Studio,直接命令行构建app的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
谢谢回复。
“对于拆包后的hap包进行签名,由于使用的是命令行工具进行签名,不能使用DevEco Studio自动签名方案生成的证书文件,需要手动制作密钥库文件、申请调试证书和Profile文件。”
咨询下,官方文档-应用发布,“使用DevEco Studio生成密钥和证书请求文件”和“使用命令行工具生成证书请求文件”,这两种方式生成的请求文件还不同吗?能否兼容?我这边使用第一种方式,已经上架应用了,如果必须得更换密钥、签名证书,那就真的有点坑了
你好,已经过去一个月了,文档大概啥时候发布
您好,相关问题已经反馈给工作人员,请耐心等待,感谢您对华为开发者论坛的支持。
HarmonyOS 鸿蒙Next支持app重签名,但这一过程通常需要借助一些工具和特定的签名文件来完成,而非直接通过简单的命令行操作实现重签名功能。对于不依赖DevEco Studio,直接通过命令行构建app的需求,HarmonyOS提供了HBuild命令行工具,可以用来构建鸿蒙应用。
要实现app的重签名,通常你需要准备签名证书(如.p12或.pfx文件)以及相关的密码。然后,你可以使用鸿蒙提供的命令行工具或者脚本,结合签名证书,对已经构建好的app包进行重新签名。
对于直接命令行构建app,你可以使用HBuild工具,并配置好相关的构建脚本和参数。HBuild工具支持从源代码构建鸿蒙应用,并生成可安装的app包。
需要注意的是,具体的命令行操作和参数可能会随着鸿蒙系统的更新而有所变化,建议查阅最新的鸿蒙开发者文档或者官方指南来获取最准确的信息。
如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html,