Start of Appium server does not work after update Java client for Appium Mobile

Hello

I’ve updated Java client for Appium Mobile Webdriver from version 7.3.0 to 7.5.1.
After that I’ve gotten error wile starting Appium server (start()).

\AppData\Roaming\npm\node_modules\appium\build\lib\main.js: error: argument -dc/--default-capabilities: invalid parseDefaultCaps value: '{appWaitDuration:30000,autoGrantPermissions:true,newCommandTimeout:600,printPageSourceOnFindFailure:true,udid:emulator-5554}'

AppiumServiceBuilder serviceBuilder = new AppiumServiceBuilder();
serviceBuilder.usingAnyFreePort();
serviceBuilder.withIPAddress("127.0.0.1");
serviceBuilder.withArgument(GeneralServerFlag.RELAXED_SECURITY);
serviceBuilder.withStartUpTimeOut(10, TimeUnit.SECONDS);

DesiredCapabilities appiumCapabilities = new DesiredCapabilities();
appiumCapabilities.setCapability("udid", d.getSerial());
appiumCapabilities.setCapability("newCommandTimeout", 600);
appiumCapabilities.setCapability("printPageSourceOnFindFailure", true);
appiumCapabilities.setCapability("clearSystemFiles", true);
appiumCapabilities.setCapability("autoGrantPermissions", true);
appiumCapabilities.setCapability("appWaitDuration", 30000);
serviceBuilder.withCapabilities(appiumCapabilities);
AppiumDriverLocalService apDev = AppiumDriverLocalService.buildService(serviceBuilder);
apDev.start();

appium -v
1.21.0

Windows 10
Java 8

Versions 7.4.0, 7.4.1, 7.5.0 fall with the same error.

This is expected. You should escape the arguments manually there or explicitly enable the automated escaping feature. See https://github.com/appium/java-client/pull/1454 for more details.

Thank you.

It works.

appiumCapabilities.setCapability("\"udid\"", "\"" + d.getSerial() + "\"");
appiumCapabilities.setCapability("\"newCommandTimeout\"", 600);
appiumCapabilities.setCapability("\"printPageSourceOnFindFailure\"", true);
appiumCapabilities.setCapability("\"clearSystemFiles\"", true);
appiumCapabilities.setCapability("\"autoGrantPermissions\"", true);
appiumCapabilities.setCapability("\"appWaitDuration\"", 30000);