Solved .. Posting it for others if useful
instead of using Switching using driver.context() , used chromedriver explicitly
File chromeDriverLib = new File("../path/to/chromedriver.exe");
String chromeDriverPath = chromeDriverLib.getAbsolutePath();
System.setProperty("webdriver.chrome.driver", chromeDriverPath);
ChromeDriverService service = new ChromeDriverService.Builder().usingDriverExecutable(chromeDriverLib)
.usingAnyFreePort().build();
service.start();
Proxy proxy = new Proxy();
proxy.setHttpProxy(driver.getRemoteAddress().toString());
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.setExperimentalOption("androidPackage", "app.package.name");
chromeOptions.setExperimentalOption("androidDeviceSerial", deviceID);
chromeOptions.setExperimentalOption("androidUseRunningApp", true);
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.PROXY, proxy);
capabilities.setCapability("chromeOptions", chromeOptions);
WebDriver chromeDriver = new RemoteWebDriver(service.getUrl(), capabilities);
<do webview test steps>
service.stop();
<continue Native test steps>
This has solved my problems and it's stable as well .