Search code examples
batch-fileemulationbuild-definitionazure-pipelinesazure-pipelines-build-task

VSTS, Launching Android emulator from a batch file not working as expected


I am trying to launch an Android emulator from a batch file inside my build definition, with the next command:

start /WAIT "Start Emulator" "C:\Program Files (x86)\Microsoft Emulator Manager\1.0\emulatorcmd.exe" launch /sku:Android /id:97522427-7A5E-4F3B-96A8-B9F9F0C0423A

I tried to add the build step as a command line, and a batch script.

Problem: The script is working right, and opening the emulator and wait for it to fully open, but once script finishes executing and console closes, the emulator is closing as well.

I tried to run the script directly on build server, and it works fine without closing emulator, but when queued as a build step, I am facing the above problem.

Question: How can I force the emulator to stay open after batch file finishes executing?

EDIT: It looks like the build definition task terminates all processes it created in the defined step, I have tried multiple script, tried cmd /k and tried the /b and tried to create another batch file that actually calls this one or start it, yet no results. I am still waiting for any possible solution.


Solution

  • Alright, I tried a lot of scripts in batch files, and I tried to run it from command line, after a lot of time waste and getting tired, I decided to give PowerShell task a try to fix my problem. I ended up with this:

    Start-Process -FilePath "C:\Program Files (x86)\Microsoft Emulator Manager\1.0\emulatorcmd.exe" -ArgumentList "launch /sku:Android /id:97522427-7A5E-4F3B-96A8-B9F9F0C0423A" -Verb runas
    Start-Sleep -s 60
    

    This made the emulator start, and stays running even after PowerShell script ends.