Failed to sign APK package. (Unity 2017.2.0f3)

I have made a huge research for resolving this problem and there are two topics just like mine in unity answers but these two can’t also resolve my problem. I tried to set Build System to Gradle, updated sdk, downgraded sdk also did the same for jdk, changed tools folder, put some folders from build-tools to tools I even researched problem as a java error but NO! non of them has resolved my problem. That’s why I’m opening a new question for this issue. Hope somebody can help.

Here it’s my error log:

CommandInvokationFailure: Failed to sign APK package. C:\Users\ASUS\AppData\Local\Android\sdk\build-tools\26.0.2\apksigner.bat sign --ks “C:/Users/ASUS/Documents/Unity Projects/ProjectBattleRite/user.keystore” --ks-pass stdin --ks-key-alias “lunatogi” --key-pass stdin “C:\Users\ASUS\Documents\Unity Projects\ProjectBattleRite\Temp/StagingArea/Package.apk”

stderr[ Error: keywords ‘java|openjdk version’ not found in ‘picked up java_tool_options: -df’ Error: keywords ‘java|openjdk version’ not found in ‘picked up java_tool_options: -df’ Error: keywords ‘java|openjdk version’ not found in ‘picked up java_tool_options: -df’ Error: keywords ‘java|openjdk version’ not found in ‘picked up java_tool_options: -df’ Failed to load signer “signer #1” java.io.IOException: Invalid keystore format at sun.security.provider.JavaKeyStore.engineLoad(Unknown Source) at sun.security.provider.JavaKeyStore$JKS.engineLoad(Unknown Source) at sun.security.provider.KeyStoreDelegator.engineLoad(Unknown Source) at sun.security.provider.JavaKeyStore$DualFormatJKS.engineLoad(Unknown Source) at java.security.KeyStore.load(Unknown Source) at com.android.apksigner.ApkSignerTool$SignerParams.loadKeyStoreFromFile(ApkSignerTool.java:829) at com.android.apksigner.ApkSignerTool$SignerParams.loadPrivateKeyAndCertsFromKeyStore(ApkSignerTool.java:719) at com.android.apksigner.ApkSignerTool$SignerParams.loadPrivateKeyAndCerts(ApkSignerTool.java:659) at com.android.apksigner.ApkSignerTool$SignerParams.access$500(ApkSignerTool.java:611) at com.android.apksigner.ApkSignerTool.sign(ApkSignerTool.java:266) at com.android.apksigner.ApkSignerTool.main(ApkSignerTool.java:89) Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 ] stdout[ Keystore password for signer #1: ] exit code: 2 UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) UnityEditor.Android.Command.RunWithStdin (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg, System.String[ ] input) UnityEditor.Android.PostProcessor.Tasks.TasksCommon.Exec (System.String command, System.String args, System.String workingdir, System.String errorMsg, System.String[ ] stdin) UnityEditor.Android.PostProcessor.Tasks.BuildAPK.SignPackage (UnityEditor.Android.PostProcessor.PostProcessorContext context) UnityEditor.Android.PostProcessor.Tasks.BuildAPK.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

It seems
2017.2.0f3 is a real pain in the ass. Try purge it with .deb file: sudo dpkg --purge unity-editor. Then try install it via Official Installer:
2017.3.0b1: http://beta.unity3d.com/download/2ca68d182788/public_download.html
So, here’s how it works:

  • Get the download assistant

  • Make it executable, via your file manager or the command line (chmod +x UnitySetup-2017.3.0b1)

  • Run it, via your file manager or the command line (./UnitySetup-2017.3.0b1)

  • Follow the prompts

The dependencies for the download assistant are:

  • gtk2 (libgtk2.0-0)

  • libsoup (libsoup2.4-1)

  • libarchive (libarchive13) (with support for xar, cpio, tar, gzip, and xz)