关于android:Unity:构建失败,无法更新SDK

Unity: Build failure, unable to update the SDK

Unity最新更新2018.3
根据SDK Manager,SDK工具和平台是最新的。
尝试构建和运行Android构建设置。

更新SDK之后,Unity仍然要求我通过按下软件内置的按钮来更新SDK。 完成此操作后,它告诉我:

Unable to update the SDK. Please run the SDK Manager manually to make
sure you have the latest set of tools and the required platforms
installed. See console log for details.

当我看一下控制台时,它告诉我:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
CommandInvokationFailure: Unable to update the SDK. Please run the SDK Manager manually to make sure you have the latest set of tools and the required platforms installed.
C:\\Program Files (x86)\\Android\\android-sdk\\tempToolsDir\\bin\\sdkmanager.bat --sdk_root=C:\\Program Files (x86)\\Android\\android-sdk tools platform-tools"build-tools;28.0.3"

stderr[
Error: Failed to find package Files
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
]
stdout[

]
exit code: 1
UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <e1c3953b4cf040ddb1400046b1c34897>:0)
UnityEditor.Android.Command.RunWithStdin (System.Diagnostics.ProcessStartInfo psi, System.String errorMsg, System.Collections.Generic.IEnumerable`1[T] input) (at <e1c3953b4cf040ddb1400046b1c34897>:0)
UnityEditor.Android.AndroidSDKTools.RunAndroidSdkTool (System.String toolName, System.String arguments, System.Boolean updateCommand, System.String errorMsg, System.String toolsDir) (at <e1c3953b4cf040ddb1400046b1c34897>:0)
UnityEditor.Android.AndroidSDKTools.UpdateSDK (UnityEditor.Android.AndroidJavaTools javaTools) (at <e1c3953b4cf040ddb1400046b1c34897>:0)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK+SDKComponentDetector.Update (UnityEditor.Android.AndroidSDKTools sdkTools, UnityEditor.Android.AndroidJavaTools javaTools, System.Version minVersion, UnityEditor.Android.PostProcessor.ProgressHandler onProgress) (at <e1c3953b4cf040ddb1400046b1c34897>:0)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK.EnsureSDKComponentVersion (UnityEditor.Android.AndroidJavaTools javaTools, System.Version minVersion, UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK+SDKComponentDetector detector) (at <e1c3953b4cf040ddb1400046b1c34897>:0)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <e1c3953b4cf040ddb1400046b1c34897>:0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <e1c3953b4cf040ddb1400046b1c34897>:0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

我已经手动更新了SDK,在那也给了我一个错误。 我通过以下技巧对其进行了修复:无法更新\ tools-Windows的Android SDK命令行工具

无论如何,我与管理员一起运行Unity,我与管理员一起运行cmd进行手动更新,但仍然无法构建。 需要帮助,谢谢。

SCREENSHOT:适用于Android构建的Unity SDK更新


我在尝试更新android sdk并通过手动运行sdk管理器进行修复时遇到了类似的问题。在我的Unity Editor控制台中,它打印了一份长期许可协议以及错误提示我该怎么做。

首先,如果不存在,请在.android文件夹中创建一个空的repositories.cfg文件。对我来说,该文件位于C:\\Users\\myuser\\.android

接下来,在命令提示符下像这样运行sdkmanager.bat(您的结果和路径可能会因Unity版本而异)。

1
"C:\\Program Files\\Unity\\Hub\\Editor\\2019.2.13f1\\Editor\\Data\\PlaybackEngines\\AndroidPlayer\\SDK\\tools\\bin\\sdkmanager.bat" "platforms;android-29"

然后,我可以按y并接受许可证。


4 I face the same issue trying to update my android SDK and Try to build with both JAVA SDK tool this resolve my Issue (check ref Img)

Android构建失败[2019.3.6f1]:无法更新SDK

CommandInvokationFailure:无法更新SDK。请手动运行SDK Manager,以确保您安装了最新的工具集和必需的平台。
/Users/yogesh/Library/android-sdk/tempToolsDir\bin\sdkmanager.bat --sdk_root = / Users / yogesh / Library / Android / sdk tools platform-tools" build-tools; 28.0.3"


对我有用的是找到" sdkmanager.bat"文件夹,从那里启动具有管理员权限的命令提示符,然后输入以下命令:

1
.\\sdkmanager"platform-tools""platforms;android-29"

尝试将Android SDK安装到不需要管理员权限的某些文件夹中(例如C:\\SDKs\\android-sdk)。它为我工作。


我通过下载Android SDK工具,下载了我想要的SDK版本,然后将该版本拖到Unity存储其SDK版本的位置(如果您已经下载了所有版本)来解决了这个问题。

我更改了Android的默认位置,但是如果找到文件夹,则版本位于平台下,您可以将所需的版本拖动到:

"C:\\ProgramFiles\\Unity\\Hub\\Editor\\2020.1.1f1\\Editor\\Data\\PlaybackEngines\\AndroidPlayer\\SDK\\platforms"

但是该路径将根据您所使用的Unity版本以及存储在哪个驱动器上而改变。确保在"preferences>external tools"下的Unity编辑器中,已打开"Android SDK tools installed with Unity"。无论如何,祝你好运,我花了数小时来弄清楚这一点。