You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用新密钥为.NET MAUI应用签名时出现jarsigner.exe exited with code 1错误求助

jarsigner.exe exited with code 1 错误的成因与解决方法(.NET MAUI Android签名)

可能成因

  • 密钥库/别名密码不匹配或输入错误,包括大小写、特殊字符未转义等情况
  • 相对路径解析异常,导致jarsigner无法找到密钥库文件
  • 新生成的keystore.jks文件损坏或无效
  • .NET MAUI Android SDK版本不兼容,签名工具或配置存在问题
  • 密钥库文件权限不足,jarsigner无法读取

解决方法

1. 验证密码正确性

  • 使用keytool直接检查密钥库和别名:
    keytool -list -v -keystore ..\keystore.jks -alias mynewalias
    
    依次输入密钥库密码和别名密码,若能正常输出密钥信息则密码无误;若报错,确认密码是否区分大小写,特殊字符需在命令行用引号包裹(如/p:AndroidSigningKeyPass="MyPass!")。
  • 建议将密码写入项目Release配置的PropertyGroup中,避免命令行输入错误:
    <PropertyGroup Condition="'$(TargetFramework)' == 'net7.0-android' and '$(Configuration)' == 'Release'">
        <AndroidKeyStore>True</AndroidKeyStore>
        <AndroidSigningKeyStore>..\keystore.jks</AndroidSigningKeyStore>
        <AndroidSigningKeyAlias>mynewalias</AndroidSigningKeyAlias>
        <AndroidSigningStorePass>MyPassword</AndroidSigningStorePass>
        <AndroidSigningKeyPass>MyPassword</AndroidSigningKeyPass>
    </PropertyGroup>
    
    注意:不要将包含密码的配置提交到版本控制系统。

2. 修复密钥库路径与有效性

  • 替换相对路径为绝对路径,避免上下文解析问题:
    <AndroidSigningKeyStore>C:\YourProjectPath\keystore.jks</AndroidSigningKeyStore>
    
  • 若keytool检查密钥库报错,重新生成上传密钥库:
    keytool -genkey -v -keystore keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias mynewalias
    
    重新导出upload_certificate.pem(keytool -export -rfc -keystore keystore.jks -alias mynewalias -file upload_certificate.pem)并确认Google已完成密钥重置。

3. 适配SDK与签名配置

  • 确保Visual Studio中已安装对应net7.0-android版本的完整Android SDK Build Tools,优先使用稳定版。
  • 在Release配置中添加签名算法指定,符合Google Play要求:
    <AndroidSigningAlgorithm>SHA256withRSA</AndroidSigningAlgorithm>
    

4. 检查文件权限

  • 右键keystore.jks文件,进入「属性-安全」,确保当前用户拥有读取权限。

内容的提问来源于stack exchange,提问作者Sam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 20:40:43