Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Unity:生成失败,无法更新SDK_Android_Unity3d_Sdk_Android Sdk Tools_Android Sdk Manager - Fatal编程技术网

Android Unity:生成失败,无法更新SDK

Android Unity:生成失败,无法更新SDK,android,unity3d,sdk,android-sdk-tools,android-sdk-manager,Android,Unity3d,Sdk,Android Sdk Tools,Android Sdk Manager,Unity最新更新2018.3 根据SDK管理器,SDK工具和平台是最新的 正在尝试构建和运行Android构建设置 更新SDK后,Unity仍然要求我通过按下软件内置的按钮来更新SDK。在我这样做之后,它告诉我: CommandInvokationFailure: Unable to update the SDK. Please run the SDK Manager manually to make sure you have the latest set of tools and the

Unity最新更新2018.3
根据SDK管理器,SDK工具和平台是最新的
正在尝试构建和运行Android构建设置

更新SDK后,Unity仍然要求我通过按下软件内置的按钮来更新SDK。在我这样做之后,它告诉我:

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。请手动运行SDK管理器以使 确保您拥有最新的工具集和所需的平台 安装。有关详细信息,请参阅控制台日志

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

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)
CommandInvokationFailure:无法更新SDK。请手动运行SDK管理器,以确保已安装最新的工具集和所需的平台。
C:\Program Files(x86)\Android\Android sdk\Tentoolsdir\bin\sdkmanager.bat--sdk\u root=C:\Program Files(x86)\Android\Android sdk工具平台工具“构建工具;28.0.3”
斯特德尔[
错误:找不到包文件
选择JAVA工具选项:-Dfile.encoding=UTF-8
]
stdout[
]
退出代码:1
UnityEditor.Android.Command.WaitForProgramToRun(UnityEditor.Utils.Program p,UnityEditor.Android.Command+WaitingForProcessToExit WaitingForProcessToExit,System.String errorMsg)(位于:0)
UnityEditor.Android.Command.RunWithTDIN(System.Diagnostics.ProcessStartInfo psi、System.String errorMsg、System.Collections.Generic.IEnumerable`1[T]输入)(位于:0)
UnityEditor.Android.AndroidSDKTools.RUNDROIDSDKTOOL(System.String toolName、System.String参数、System.Boolean updateCommand、System.String errorMsg、System.String toolsDir)(位于:0)
UnityEditor.Android.AndroidSDKTools.UpdateSDK(UnityEditor.Android.AndroidJavaTools-javaTools)(地址:0)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroiddk+SDKComponentDetector.Update(UnityEditor.Android.AndroiddkTools sdkTools,UnityEditor.Android.AndroidJavaTools javaTools,System.Version minVersion,UnityEditor.Android.PostProcessor.ProgressHandler onProgress)(地址:0)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidDK.EnsureSDKComponentVersion(UnityEditor.Android.AndroidJavaTools javaTools,System.Version minVersion,UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK+SDKComponentdDetector)(at:0)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK.Execute(UnityEditor.Android.PostProcessor.PostProcessorContext上下文)(位于:0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks(UnityEditor.Android.PostProcessor.PostProcessorContext上下文)(位于:0)
gui实用程序:ProcessEvent(Int32,IntPtr)
我已经手动更新了SDK,它也给了我一个错误。我用这个技巧修复了它:

无论如何,我用管理员运行Unity,用管理员运行cmd进行手动更新,但它仍然无法生成。需要帮助,谢谢


尝试将Android SDK安装到不需要管理员权限即可访问的文件夹中(类似于
C:\SDKs\Android SDK
)。它对我很有效。

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

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

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


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

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

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

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

CommandInvokationFailure:无法更新SDK。请手动运行SDK管理器,以确保已安装最新的工具集和所需的平台。
/Users/yogesh/Library/android sdk/testoolsdir\bin\sdkmanager.bat--sdk_root=/Users/yogesh/Library/android/sdk工具平台工具“build tools;28.0.3”

我通过下载android sdk工具,下载我想要的sdk版本,然后将该版本拖到Unity存储其sdk版本的地方,解决了这个问题(如果您下载了任何内容)

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

“C:\ProgramFiles\Unity\Hub\Editor\2020.1.1f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\Platform”


但该路径将根据您拥有的Unity版本以及存储Unity的驱动器而改变。请确保在Unity编辑器中的
“首选项>外部工具”
下,您有
“安装了Unity的Android SDK工具”
打开了无论如何,祝你好运,我花了好几个小时来解决这个问题。

我遇到了这个问题,并通过定义'JAVA_HOME'环境变量解决了它,这是Unity的sdkmanager.bat运行所必需的。在此之后,Unity能够按照预期从Unity内部无缝安装。

我也做到了这一点在我的C:中创建一个
android sdk
文件夹,并用cmd
sdkmanager.bat--update
更新那里的sdk。现在我使用了该文件夹,而不是Unity中sdk外部工具的
Program Files(x86)
文件夹,现在它可以工作了。但是,如果没有连接到计算机的android设备,它将无法运行和构建。