密钥库apk的Unity出现错误

3
当我尝试在Unity上构建我的APK时,出现了以下两个错误信息:
1.
Win32Exception: ApplicationName='/Users/kristianstenberg/Library/Android/sdk/build-tools/26.0.0/apksigner', CommandLine='sign --ks "/Users/kristianstenberg/Desktop/Platformer/VegardHansenStenberg.keystore" --ks-pass pass:"Balder123" --ks-key-alias "besquare" --key-pass pass:"Balder123" "/Users/kristianstenberg/Desktop/Platformer/Temp/StagingArea/Package.apk"', CurrentDirectory='Temp/StagingArea'
System.Diagnostics.Process.Start_noshell (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process)
System.Diagnostics.Process.Start_common (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process)
System.Diagnostics.Process.Start ()
(wrapper remoting-invoke-with-check) System.Diagnostics.Process:Start ()
UnityEditor.Utils.Program.Start (System.EventHandler exitCallback) (at /Users/builduser/buildslave/unity/build/Editor/Mono/Utils/Program.cs:44)
UnityEditor.Utils.Program.Start () (at /Users/builduser/buildslave/unity/build/Editor/Mono/Utils/Program.cs:28)
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, Int32 retriesOnFailure)
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.Android.PostProcessAndroidPlayer.PostProcess (BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.BuildReporting.BuildReport report)
UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (BuildPostProcessArgs args)
UnityEditor.PostprocessBuildPlayer.Postprocess (BuildTargetGroup targetGroup, BuildTarget target, System.String installPath, System.String companyName, System.String productName, Int32 width, Int32 height, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.BuildReporting.BuildReport report) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:263)
UnityEditor.HostView:OnGUI()

2.

UnityEditor.BuildPlayerWindow+BuildMethodException: Build failed with errors.
  at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (BuildPlayerOptions options) [0x001b9] in /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPlayerWindowBuildMethods.cs:162 
  at UnityEditor.BuildPlayerWindow.CallBuildMethods (Boolean askForBuildLocation, BuildOptions defaultBuildOptions) [0x00050] in /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPlayerWindowBuildMethods.cs:83 
UnityEditor.HostView:OnGUI()

只有当我有密钥库时才会收到这些消息。请帮我解决问题。

1个回答

7
这是由于Android SDK Build Tools 26.0.0存在已知问题 -- 缺少apksigner。在新版本的Build Tools发布之前,有两种解决方法:
  • 切换到较旧的Android SDK Build Tools版本(例如25.0.3)。
  • 将较旧版本中的apksigner(和/或Windows上的apksigner.bat)以及lib/apksigner.jar复制到build-tools/26.0.0/中。
请参阅https://github.com/bazelbuild/bazel/issues/3258https://issuetracker.google.com/issues/62696222
编辑: Android SDK Build Tools 26.0.1已发布,其中包含apksigner

这真的救了我的一天!不知何故,SDK 23也没有这些文件。 - Konstantin
这篇文章需要被投票为正确答案。它也救了我的一天 - 我希望我18小时前就能找到它... - ina

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接