Xamarin 安卓应用程序部署失败,出现错误"apksigner.BAT"退出,代码为 2



Xamarin 应用程序部署失败,错误"apksigner.BAT"退出,代码为 2

JDK 版本 1.8.162

尝试将

JDK 降级到 1.8.131。

我遇到了 1.8.161

和 1.8.162 的问题。

如果您使用的是 JDK 9,则降级到 JDK-8

卸载

JDK 9.x为我修复了它。

Android Setup指向JDK 8.x没有任何区别。必须删除JDK 9.x才能解决此问题。

我在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解决了这个问题

除了上面正确的JDK相关答案外,还要尝试检查PATH变量。必须有最新安装的JDK版本。经过几天检查不同的IDE,机器和设备,解决了我的问题。

正如其他人所发现的那样,这是当您安装了较新版本的Java(例如JDK 9(时发生的冲突。

这实际上不是必需的,但这里有一个解决方法:使用以下内容创建一个新的批处理文件(根据需要更新路径(。 您希望设置JAVA_HOME以便它指向旧版本的 Java。

Xamarin.bat:

@echo off
set JAVA_HOME=C:Program Files (x86)Javajdk1.8.0_161
set PATH=%JAVA_HOME%bin;%PATH%
cd "C:Program Files (x86)Microsoft Visual Studio2017ProfessionalCommon7IDE"
start devenv.exe

我最近从客户那里得到了一个旧诗句。它在Visual Studio for Windows中给出了同样的error.Visual Studio for Mac,它without displaying任何Error Message都给出了 1 个错误。

behind error的原因是客户指定了一个signing key,该在我的systemnot available

Mac上,我只需要uncheck apk signing选项。

Windows上,我必须edit csproj文件才能删除signing key.现在,项目已成功生成。

对我来说

,从我当前的构建工具目录中删除(或重命名(apksigner.bat(...AppData\Local\Android\android-sdk\build-tools\28.0.0-rc1\apksigner.bat(

之后,清理了 obj 和调试/发布目录->重建->部署

最新更新