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

VS2022中Xamarin.Forms Android APK签名失败,新建密钥仍无法解决

解决Xamarin.Forms Ad Hoc签名时"Keystore was tampered with, or password was incorrect"错误

针对你遇到的VS2022归档Ad Hoc包签名失败问题,试试以下几个针对性的修复操作:

  • 检查密钥库的路径与权限
    确认签名时选中的密钥库文件路径完全正确,没有指向已删除或移动过的旧文件;右键密钥库文件,打开「安全」选项卡,确保当前登录用户拥有读取和写入权限,权限不足会导致VS无法正常读取密钥库内容。

  • 用keytool验证密钥库有效性
    打开管理员权限的命令提示符,切换到本地JDK的bin目录(比如C:\Program Files\Java\jdk1.8.0_301\bin),执行命令:

    keytool -list -v -keystore "你的密钥库完整路径"
    

    输入密码后如果能正常输出密钥库的详细信息,说明密钥库和密码没问题;如果同样弹出“密钥库被篡改或密码错误”,那得重新创建密钥库,确保创建过程中没有中断或异常。

  • 清理VS2022的Xamarin缓存
    关闭VS2022,删除以下两个目录的所有内容:

    • C:\Users\<你的用户名>\AppData\Local\Xamarin\Cache
    • C:\Users\<你的用户名>\AppData\Local\Temp\Xamarin
      重启VS后重新构建并归档,缓存损坏也可能导致签名逻辑异常。
  • 手动完成APK签名
    如果VS内置的签名流程一直出错,可以绕开它手动签名:

    1. 找到归档生成的未签名APK文件(通常在项目的bin\Release目录下,或者归档导出的临时文件夹里);
    2. 用jarsigner工具执行签名命令:
      jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA-256 -keystore "你的密钥库路径" "未签名APK的完整路径" "密钥库的别名"
      

    输入密码后如果签名成功,说明VS的Xamarin签名模块可能存在版本bug,后续可以尝试更新VS的Xamarin组件。

  • 更新Xamarin.Android到最新稳定版
    打开VS2022的「工具→获取工具和功能」,在移动开发分类下检查Xamarin.Android的版本,更新到最新稳定版,旧版本的签名逻辑可能存在已知问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 02:01:13