Failed to Create Android Device via Gauntlet on Windows

Issue Description:

In Unreal Engine 5.4 for Android, when gauntlet run test always resulting failed to create device {ip}:port.

This issue only occurs when the device is connected via wireless debugging. If using USB debugging (wired connection), the problem does not appear.

Here’s a reproducible command-line example.

RunUnreal -project=F:\xxxx.uproject -platform=Android -build=F:\P4\Packages -test=xxxTest -device="Android:10.228.84.156:40607"I suspect the failure is caused by Windows prohibiting folder names containing colons when using -device=ip:port.

Below are some logs:

Adding build AndroidBuildSource with flags Packaged, CanReplaceCommandLine, NotBulk priority 0 Client device cache set to E:\UE\UE5.4\GauntletTemp\DeviceCache\Android\10.228.84.156:40607 Failed to create device 10.228.84.156:40607 @ 10.228.84.156:40607. Platform=Android Model=Unspecified. 目录名称无效。 : 'E:\UE\UE5.4\GauntletTemp\DeviceCache\Android\10.228.84.156:40607' at System.IO.FileSystem.CreateDirectory(String fullPath, Byte[] securityDescriptor) at System.IO.Directory.CreateDirectory(String path) at Gauntlet.DevicePool.GetCleanCachePath(DeviceDefinition InDeviceDefiniton) in E:\UE\UE5.4\Engine\Source\Programs\AutomationTool\Gauntlet\Framework\Devices\Gauntlet.DevicePool.cs:line 1523 at Gauntlet.DevicePool.CreateAndRegisterDeviceFromDefinition(DeviceDefinition Def) in E:\UE\UE5.4\Engine\Source\Programs\AutomationTool\Gauntlet\Framework\Devices\Gauntlet.DevicePool.cs:line 1298 Failed to provision 10.228.84.156:40607 Pool ran out of devices of type Android! Failed to resolve all devices. Releasing the ones we have Status: Completed:0, Running:0, Starting: 0, Waiting:1 Not enough devices of type Android exist for test. (1 required, 0 available) Test GameProjectGauntlet.DoNothingTest (Android Development Client) threw an exception during ready check. Ex: Not enough devices available Test GameProjectGauntlet.DoNothingTest (Android Development Client) NotStarted

Reproduction Environment:

UE Version: GitHub UE 5.4

NDK: android-26

SDK API Level: android-33

Device Tested:

vivo x note(Android 12, Chinese version)

Steps to Reproduce

  1. Do some modifies with file ​"Android\Gauntlet.TargetDeviceAndroid.cs" like [UE 5.4 Gauntlet run on Android - Engine initialization [Content removed]
  2. Use RunUAT.bat run Gauntlet.

Thanks for reporting this issue.

Indeed it seems to be a lack of string sanitization. I will be looking into this issue to be fixed in future release.