Kindly ignore above answer
Below is the working solution, will share completed project in few weeks
{“capabilities”:[{“browserName”:“Android”,“version”:“4.4.2”,“maxInstances”:1,“platform”:“ANDROID”,“deviceName”:“emulator-5556”}],“configuration”:{“nodeTimeout”:120,“port”:4723,“hubPort”:4444,“proxy”:“org.openqa.grid.selenium.proxy.DefaultRemoteProxy”,“hubHost”:“127.0.0.1”, “nodePolling”:2000, “registerCycle”:10000,“register”:true,“cleanUpCycle”:2000,“timeout”:30000,“maxSession”:1}}
nodeConfigFilePath = "/Users/vikram-anna/.../EMULATOR_Nexus_4_2.json";
driverLocalService = AppiumDriverLocalService
.buildService(new AppiumServiceBuilder()
.withAppiumJS(new File("/usr/local/lib/node_modules/appium/build/lib/main.js"))
.usingDriverExecutable(new File("/usr/local/bin/node"))
.usingPort(4823)
.withArgument(AndroidServerFlag.BOOTSTRAP_PORT_NUMBER,"4824")
.withArgument(GeneralServerFlag.SESSION_OVERRIDE)
.withArgument(GeneralServerFlag.LOG_LEVEL, "debug")
.withArgument(GeneralServerFlag.CONFIGURATION_FILE, nodeConfigFilePath));
driverLocalService.start();