2017-10-06 107 views
0

我们的团队开始在一个旧项目上工作,以修复错误并添加新功能。但是我们在密钥库文件上存在问题。项目更新到Unity 2017后,我们开始出现如下错误:Keystore不能在团结工作2017.1

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

在发布设置下,尝试将生成系统更改为Gradle(新建)而不是内部(默认)。 如果上述不起作用,请尝试更新Android Studio并更新android SDK。 如果以上不工作尝试以下步骤

1)只要打开https://developer.android.com/studio/index.html

2)向下滚动到页面

3)的底部去下载

4)向下滚动到该页面

5)的底部发现Windows “tools_r25.2.3-windows.zip” 下载并解压

5)找到MacOSX“tools_r25.2.3-macosx.zip”下载并解压缩。

6)在SDK路径中替换工具文件夹。

原始来源link

+0

不幸地尝试过所有这些。 – Salranax

+0

我们认为这个问题是由团结2017引起的。回到团结5.6直到它得到解决。但仍在寻找解决方案。 – Salranax

+0

我更新了答案,请尝试。 –