Flutter构建App Bundle报错:Algorithm HmacPBESHA256不可用
解决构建App Bundle时的HmacPBESHA256算法不可用错误
针对你遇到的密钥读取失败问题,可按以下步骤排查解决:
升级JDK版本
HmacPBESHA256算法仅在Java 11及以上版本中支持,若你当前使用的是Java 8或更低版本,必然会触发该错误。- 运行
java -version确认本地JDK版本,确保升级到Java 11+; - 在Android Studio中打开
File > Project Structure > SDK Location,将JDK路径设置为Java 11或更高版本的安装目录。
- 运行
处理密码中的特殊字符
你的密钥密码包含>,<,",'等特殊字符,在.properties文件中需要转义才能被正确解析:
修改key.properties中的密码字段,转义特殊字符:storePassword=s\>+Ke\<5N\"=/2h\'KJ keyPassword=s\>+Ke\<5N\"=/2h\'KJ keyAlias=upload storeFile=./app/upload-keystore.jks或者用单引号包裹密码(密码内的单引号需用两个单引号转义):
storePassword='s>+Ke<5N"=/2h''KJ' keyPassword='s>+Ke<5N"=/2h''KJ' keyAlias=upload storeFile=./app/upload-keystore.jks修正storeFile路径
你当前的storeFile=../app/upload-keystore.jks路径有误:key.properties在android根目录,../会指向根目录的上级,而非app子目录。改为相对当前目录的路径:storeFile=./app/upload-keystore.jks或者直接使用绝对路径避免歧义:
storeFile=/Users/giorgosbillis/development/2023/altertrip app/altertrip_app/android/app/upload-keystore.jks验证密钥库有效性
用keytool命令手动检查密钥库是否能正常读取,确认密码和别名无误:keytool -list -v -keystore /Users/giorgosbillis/development/2023/altertrip app/altertrip_app/android/app/upload-keystore.jks -alias upload输入对应密码后,若能正常输出密钥信息,说明密钥库本身无问题,问题出在项目配置或JDK版本上。
内容的提问来源于stack exchange,提问作者Biobrolly
相关产品推荐
相关产品推荐

