ADB 服务器未在 Unity 中启动

Gho*_*ing 3 android adb unity-game-engine

我已经使用 Android SDK/NDK 安装了 Unity 2019.4。ADB 服务器无法启动并出现以下错误:

UnityEditor.Android.Command.RunWithShellExecute (System.String command, System.String args, System.String workingdir, System.String errorMsg) (at <303ae0e7a8d8441ab049e592bd1e2100>:0)
UnityEditor.Android.ADB.StartServer () (at <303ae0e7a8d8441ab049e592bd1e2100>:0)
UnityEditor.Android.ADB.Run (System.String[] command, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <303ae0e7a8d8441ab049e592bd1e2100>:0)
UnityEditor.Android.AndroidDeploymentTargetsExtension.GetKnownTargets (UnityEditor.DeploymentTargets.IDeploymentTargetsMainThreadContext context, UnityEditor.ProgressHandler progressHandler) (at <303ae0e7a8d8441ab049e592bd1e2100>:0)
UnityEditor.DeploymentTargets.DeploymentTargetManager.GetKnownTargets () (at <7d90b28560b644ce87b8263efcc36eed>:0)
UnityEditor.Android.AndroidBuildWindowExtension+<>c__DisplayClass31_0.<SpawnFetchTargetsThread>b__0 () (at <303ae0e7a8d8441ab049e592bd1e2100>:0)
System.Threading.ThreadHelper:ThreadStart()
Run Code Online (Sandbox Code Playgroud)

我尝试在终端中运行 adb 但它也无法启动。我已经绕过了windows防火墙。它有这样的输出:

* daemon not running; starting now at tcp:5037
could not read ok from ADB Server
* failed to start daemon
adb.exe: failed to check server version: cannot connect to daemon
Run Code Online (Sandbox Code Playgroud)

我正在为此使用 Windows。

San*_*jay 7

对我有用的另一个解决方案是..关闭使用其他版本 ADB 的其他软件。就我而言,Android studio 正在运行另一个版本的 ADB。

  • 类似的情况:我打开了 VS Code,其中包含一个具有 Android 构建支持的 Flutter 项目。关闭它解决了我的 Unity 问题。 (2认同)

cor*_*dev 5

假设您安装了其他东西,例如 Oculus Developer Hub,则可能与 Unity 安装发生冲突。

您需要做的是将adb.exeAdbWinApi.dll、 和AdbWinUsbApi.dll从 Unity Editor/Data/PlaybackEngines/AndroidPlayer/SDK/platform-tools文件夹复制到它们位于冲突程序中的任何位置 - 对于 Oculus Developer Hub: C:/Program Files/Oculus Developer Hub/resources/bin。然后,重新启动计算机以应用更改。请注意,您可能需要终止这些进程才能运行它们。

如果这不起作用,请安装普通 Android SDK,并将相同的文件从 SDK/platform-tools 文件夹复制到冲突程序的位置。重启你的电脑。