使用.NET Maui(Android SDK 8)构建Android发布包时遇jarsigner退出码1错误
修复jarsigner退出代码1的问题
以下是针对该错误的具体排查和修复方案:
1. 检查密钥库文件路径
- 确保
myapp-key.keystore文件存在于当前执行命令的目录下,或者使用绝对路径指定文件位置,比如-p:AndroidSigningKeyStore=/Users/xxx/Documents/myapp-key.keystore - 验证文件权限:执行
ls -l myapp-key.keystore查看权限,确保当前用户有读取权限,若没有则用chmod 644 myapp-key.keystore修改
2. 验证密钥库和别名的正确性
- 使用jarsigner自带命令验证密钥库信息:
jarsigner -verify -verbose -certs myapp-key.keystore - 检查密钥别名是否存在:
确认输出中包含keytool -list -v -keystore myapp-key.keystore -storepass app24mykey这个别名,若别名错误或不存在,需要重新创建或修正参数
3. 检查密码一致性和正确性
- 确保
AndroidSigningKeyPass(密钥密码)和AndroidSigningStorePass(密钥库密码)与创建密钥库时设置的完全一致,注意区分大小写 - 若忘记密码,需要重新生成密钥库:
按照提示设置新密码和信息,之后用新的密码参数重新执行publish命令keytool -genkey -v -keystore myapp-key.keystore -alias mykey -keyalg RSA -keysize 2048 -validity 10000
4. 检查Java环境配置
- 确认本地安装的JDK版本符合要求(建议使用OpenJDK 11或17,与.NET 8兼容)
- 执行
java -version和jarsigner -version验证命令是否可用,若找不到命令,需要将JDK的bin目录添加到系统PATH中
5. 清理并重新构建
- 先清理项目缓存:
dotnet clean - 再重新执行publish命令,确保没有残留的构建文件干扰
内容的提问来源于stack exchange,提问作者Divyesh
相关产品推荐
相关产品推荐

