HarmonyOS鸿蒙Next中关于CI上边,发布har时要求输入key的密码的问题
HarmonyOS鸿蒙Next中关于CI上边,发布har时要求输入key的密码的问题 自动填充密码填充不进去
3 回复
参考下人机交互脚本:
cd har包所在目录
expect<<- END
set timeout 60
spawn ohpm publish ./har包名称
expect {
"private key:" {send "{ohpm_private_key}\r"}
}
expect eof
exit
END
注:expect语法不支持缩进,如果是在方法中调用,请去除缩进,类似下面的写法
function uploadhsp() {
cp test_shar_library/build/default/outputs/default/{package_name} .
expect<<- END
set timeout 60
spawn ohpm publish ./${package_name}
expect {
"private key:" {send "hmsAdmin_123\r"}
}
expect eof
exit
END
}
uploadhsp
更多关于HarmonyOS鸿蒙Next中关于CI上边,发布har时要求输入key的密码的问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,发布HAR(HarmonyOS Ability Resources)包时要求输入key的密码,这是由于HAR包在发布过程中需要进行签名以确保其完整性和安全性。签名过程需要使用开发者在华为开发者联盟中创建的签名证书,而该证书对应的私钥在生成时设置了密码保护。因此,在发布HAR包时,系统会提示输入该私钥的密码以完成签名操作。
具体流程如下:
- 开发者在华为开发者联盟中创建应用时,会生成一个签名证书,并设置私钥密码。
- 在开发环境中,开发者使用DevEco Studio进行HAR包的构建和发布。
- 发布HAR包时,DevEco Studio会调用签名工具对HAR包进行签名。
- 签名工具需要访问签名证书的私钥,因此会提示开发者输入私钥密码。
- 输入正确的私钥密码后,签名工具会使用私钥对HAR包进行签名,生成带有签名的HAR包。
这一机制确保了HAR包在发布过程中的安全性,防止未经授权的修改和发布。开发者需要妥善保管私钥密码,以确保HAR包的签名过程顺利进行。
在HarmonyOS鸿蒙Next中,发布HAR(HarmonyOS Archive)时要求输入key的密码,这是为了确保构建过程的安全性。开发者需要在CI(持续集成)配置文件中正确设置签名信息,包括key的密码。具体操作如下:
- 在
build.gradle文件中配置签名信息,确保storeFile、storePassword、keyAlias和keyPassword正确填写。 - 在CI环境变量中安全存储这些敏感信息,避免明文暴露。
- 使用CI工具(如Jenkins、GitHub Actions)在构建时自动注入这些变量。
确保密码安全,防止泄露。

