Xamarin App部署失败并出现错误" apksigner.BAT"退出代码2.
JDK版本1.8.162
答案 0 :(得分:2)
尝试将JDK降级为1.8.131。
我遇到了1.8.161和1.8.162的问题。
如果你正在使用JDK 9,那么降级到JDK-8
答案 1 :(得分:1)
卸载JDK 9.x为我修复了它。
Android设置指向JDK 8.x没有任何区别。必须删除JDK 9.x才能解决问题。
答案 2 :(得分:0)
在Visual Studio上构建Xamarin.Android应用程序时遇到了同样的错误。
这是因为将我的密钥库从JKS迁移到PKCS12格式是因为
keytool.exe -list -v -keystore <path to my keystore>
继续给我以下Warning: The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format
。
迁移错误,看来apksigner.BAT
要求密钥库采用JKS格式。我通过还原到我的debug.keystore.old
答案 3 :(得分:0)
除了上面的 JDK 相关答案是正确的,还要尝试检查PATH变量。必须有最新安装的JDK版本。经过几天检查不同的IDE,机器和设备后解决了我的问题。
答案 4 :(得分:0)
正如其他人发现的那样,当您安装了较新版本的Java时会发生冲突,例如JDK 9.
这不应该是必要的,但这是一种解决方法:使用以下内容创建新的批处理文件(根据需要更新路径)。您希望设置JAVA_HOME,使其指向旧版本的Java。
<强> Xamarin.bat:强>
@echo off
set JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_161
set PATH=%JAVA_HOME%\bin;%PATH%
cd "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\"
start devenv.exe
答案 5 :(得分:0)
我最近从客户那里得到了一个旧项目。它在error
中提供了相同的Visual Studio for Windows
。在Visual Studio for Mac
中,它提出了1个错误without displaying
任意Error Message
。
behind
error
的原因是客户在我的signing key
上指定了not available
system
。
在Mac
,我只需要uncheck
apk signing
选项。
在Windows
时,我必须edit
csproj
个文件删除signing key
。现在项目成功构建。
答案 6 :(得分:0)
对我来说,从我当前的构建工具目录中删除(或重命名)apksigner.bat(... AppData \ Local \ Android \ android-sdk \ build-tools \ 28.0.0-rc1 \ apksigner.bat)
之后,清理obj和Debug / Release目录 - &gt; Rebuild-&gt; Deploy