Visual Studio 2019中Xamarin.Android构建报错:Invalid keystore format
解决Xamarin.Android构建错误MSB6006: "java.exe" exited with code 2
错误详情
MSB6006: "java.exe" exited with code 2
构建日志关键输出:
C:\Program Files\Eclipse Foundation\jdk-8.0.302.8-hotspot\bin\java.exe -jar "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Xamarin\Android\apksigner.jar" sign --ks "C:\Users\drake\AppData\Local\Xamarin\Mono for Android\debug.keystore" --ks-pass pass:android --ks-key-alias androiddebugkey --key-pass pass:android --min-sdk-version 22 --max-sdk-version 27 C:\Users\drake\source\repos\myapp\myapp\myapp.Android\bin\Debug\com.xamarin.drake.myapp-Signed.apk Failed to load signer "signer #1" java.io.IOException: Invalid keystore format
问题原因
调试用的debug.keystore文件格式损坏,或与当前使用的JDK版本不兼容,导致apksigner工具无法正常加载签名信息。
解决步骤
- 删除损坏的调试密钥库:找到路径
C:\Users\drake\AppData\Local\Xamarin\Mono for Android\debug.keystore,直接删除该文件。 - 重新构建项目:重启Visual Studio并重新构建Xamarin.Android项目,系统会自动生成新的符合格式要求的
debug.keystore。 - 校验JDK版本:确保使用JDK 8版本(如日志中的jdk-8.0.302.8-hotspot),过高版本JDK可能导致密钥库格式不兼容。
- 手动生成调试密钥库(可选):若自动生成失败,执行以下命令手动生成,再将文件放到上述目录:
keytool -genkey -v -keystore debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000
内容的提问来源于stack exchange,提问作者Drake
相关产品推荐
相关产品推荐

