HarmonyOS 鸿蒙Next中搭建自动化构建环境时提示没有签名材料的问题
HarmonyOS 鸿蒙Next中搭建自动化构建环境时提示没有签名材料的问题
我现在在搭建自动化构建环境,在执行这个命令:hvigorw assembleApp -p buildMode=release -p product=default --no-daemon
,提示没有签名材料,而我用的签名文件都已经存在的;怎么解决?
更多关于HarmonyOS 鸿蒙Next中搭建自动化构建环境时提示没有签名材料的问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html
项目根目录build-profile.json5里的signingConfigs配置信息全部删除,重新打开Project Structure配置手动签名,确保material文件和密钥等签名信息匹配。
更多关于HarmonyOS 鸿蒙Next中搭建自动化构建环境时提示没有签名材料的问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
楼主看一下工程级的build-profile.json5中是否正确定义签名配置,material字段引用的证书路径要与本地实际路径一致:
"signingConfigs": [{
"name": "release",
"material": {
"certpath": "path/to/your.cer",
"storePassword": "xxxx",
"keyAlias": "release",
"keyPassword": "xxxx",
"storeFile": "path/to/your.p12"
}
}]
然后在模块级的build-profile.json5中把构建模式与签名配置的绑定,如果这里没有指定signingConfig将导致签名不生效
"buildModeBinder": [{
"buildModeName": "release",
"mappings": [{
"buildOptionName": "release",
"signingConfig": "release" // 这里要注意
}]
}]
可以试试在命名中设置签名证书试试
hvigorw assembleApp -p buildMode=release -p product=default \
-p appCertFile=app.cer -p profileFile=profile.p7b \
-p keystoreFile=keystore.p12 -p keyAlias=release_key \
-p keyPwd=123456 -p keystorePwd=123456 \
--no-daemon
建议手动配置下 Project Structure -> Signing Configs -> 手动签名的各个配置,
这样能重新自动生成 material 文件。
找HarmonyOS工作还需要会Flutter技术的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17
我就是这样配置的,在配置好手动签证后storePassword和keyPassword这两个字段就成了密文的了,我之前一直签名不通过就是因为设置的明文,现在不知道这个密文的加密方式,就做不到完全的自动化构建APP
手动配置好后 material 文件生成了吗? 加密方式是 Sign alg: SHA256withECDSA
这个加密方式应该是生成P12文件的时候的加密方式吧,
在鸿蒙Next中遇到自动化构建环境提示"没有签名材料"错误,是因为未正确配置应用签名所需的材料。需确保项目中包含有效的签名文件(.p7b)和证书(.cer),并在build-profile.json5中正确配置signingConfigs字段。自动化构建时,签名材料应存放在项目的signing目录下,或通过环境变量指定路径。检查是否遗漏了agconnect-services.json文件中的签名配置。
这个问题通常是由于签名配置不正确导致的。根据截图显示,系统提示找不到签名材料,即使签名文件确实存在。建议检查以下几点:
-
确保签名文件路径在build-profile.json5中配置正确,路径应该是相对于工程根目录的相对路径。
-
检查签名文件的权限是否正确,确保构建系统有读取权限。
-
确认签名文件的密码、别名等信息在build-profile.json5中配置无误。
-
如果是CI/CD环境,请确认签名文件已正确上传到构建服务器,且路径与本地配置一致。
-
可以尝试先执行clean操作再重新构建:hvigorw clean && hvigorw assembleApp -p buildMode=release -p product=default --no-daemon
如果以上检查都确认无误,可以查看更详细的构建日志定位具体问题。