我们的团队开始研究一个旧项目来修复错误并添加新功能。但是我们在密钥库文件上有问题。项目更新到Unity 2017后,我们开始收到错误消息:
CommandInvokationFailure: Failed to sign APK package.
/Users/work/Library/Android/sdk/build-tools/26.0.2/apksigner sign --ks
"/Users/work/Desktop/work game/MAIN/game.keystore" --ks-pass
pass:"***" --ks-key-alias "***" --key-pass pass:"***" "/Users/work/Desktop/work/game/MAIN/Temp/StagingArea/Package.apk"
stderr[
Failed to load signer "signer #1"
java.io.IOException: DerInputStream.getLength(): lengthTag=109, too big.
at java.base/sun.security.util.DerInputStream.getLength(DerInputStream.java:606)
at java.base/sun.security.util.DerValue.init(DerValue.java:390)
at java.base/sun.security.util.DerValue.<init>(DerValue.java:331)
at java.base/sun.security.util.DerValue.<init>(DerValue.java:344)
at java.base/sun.security.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:1953)
at java.base/sun.security.util.KeyStoreDelegator.engineLoad(KeyStoreDelegator.java:222)
at java.base/java.security.KeyStore.load(KeyStore.java:1479)
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)
]
stdout[
]
exit code: 2
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.PostProcessor.Tasks.TasksCommon.Exec (System.String command, System.String args, System.String workingdir, System.String errorMsg)
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)
UnityEditor.HostView:OnGUI()
尝试使用不同的JDK版本。更改了密钥库名称,其目的地但仍然是相同的结果。相同的密钥库完全适用于Unity 5.6。更新应尽快发布。尽快解决问题对我们至关重要。
答案 0 :(得分:0)
在“发布设置”下,尝试将“构建系统”更改为“平移”(新建)而不是“内部”(默认)。 如果上面不起作用,请尝试更新Android Studio并更新android SDK。 如果以上不起作用,请尝试以下步骤
1)只需打开https://developer.android.com/studio/index.html
2)向下滚动到该页面的底部
3)转到下载
4)向下滚动到该页面的底部
5)找到Windows&#34; tools_r25.2.3-windows.zip&#34;下载并解压缩
5)找到MacOSX&#34; tools_r25.2.3-macosx.zip&#34;下载并解压缩。
6)在SDK路径中替换tools文件夹。
原始来源link