Forum Discussion
Unable to launch the Surface DUO Emulator with Visual Studio
- Mar 20, 2020
Sivaprasad. G if you see the Surface Duo emulator, check the port showing in the title bar (it will say something like "Android Emulator - <build>:5556").
That should match the post listed by adb devices, even though the rest of the name may not match exactly. I've attached a screenshot of how it looks for me.
I'll add that whenever I use the Visual Studio batch file (run_vs.bat), I get a low-numbered port (like 5554 or 5556). I notice in your list it's 5578. Check that your batch file does not specify the -ports parameter (and also confirm the ANDROID_SDK_LOCATION is the one in C:\Program Files (x86\Android\android-sdk).
Hi Sivaprasad. G ,
When I tried this I didn't hit your error but still I wasn't able to successfully connect the emulator to Visual studio.
what finally enabled me is to change the ANDROID_SDK_LOCATION in the Xamarin version from:
set ANDROID_SDK_LOCATION=C:\Program Files (x86)\Android\android-sdk (the line copied from the instructions to the same line I used when connecting the emulator to Android Studio:
set ANDROID_SDK_LOCATION=%LOCALAPPDATA%\Android\Sdk
if you changed this line to enable the emulator on android studio, please use the same location with the Xamarin script.
I have attached the version that worked for me (note that this site doesn't allow attaching txt or bat files so I pasted it into a word doc 🙂
please let me know if this helps.
Meir
Hello tggmbi ,
Thank you for your prompt reply, I went through your solution and changed the ANDROID_SDK_LOCATION location as you mentioned,(same location which work with android studio) but still I wasn't able to successfully connect the emulator to Visual studio.
Sivaprasad. G
- tggmbiMar 12, 2020Copper Contributor
I am sorry that didn't work...
can you attach the script you are running and the script that works for you in android studio?
thanx,
Meir
- Mar 12, 2020
- Craig_DunnMar 13, 2020
Microsoft
Hi Sivaprasad. G , in the two batch files you shared above script that works for android studio.docx, the second script differs slightly from the first, in that a lot of the command line parameters are not "quoted". For example, the first one:
"%EMULATOR%" -verbose -accel auto %* -ports 5575,5579 -sysdir "%DIRNAME%\bin" -kernel "%DIRNAME%\bin\kernel-ranchu" -datadir "%DIRNAME%\bin\data" -initdata "%DIRNAME%\bin\userdata.img" -vendor "%DIRNAME%\bin\vendor-qemu.img" -system "%DIRNAME%\bin\system-qemu.img" -initdata "%DIRNAME%\bin\userdata.img" -data "%DIRNAME%\bin\userdata.img"
versus the second one:
"%EMULATOR%" -verbose -accel auto %* -sysdir %DIRNAME%\bin -kernel "%DIRNAME%\bin\kernel-ranchu" -datadir %DIRNAME%\bin\data -initdata %DIRNAME%\bin\userdata.img -vendor %DIRNAME%\bin\vendor-qemu.img -system %DIRNAME%\bin\system-qemu.img -initdata %DIRNAME%\bin\userdata.img -data %DIRNAME%\bin\userdata.img
Notice how the second one is missing "" around "%DIRNAME%\bin\data" and most of the other parameters? For most users, this does not cause an issue, but because your user folder has a space in it "C:\Users\Sivaprasad. G\" (as shown in the log file you shared), the space causes the command line to think there are two separate parameters, and you get an error:
invalid command-line parameter: G\SurfaceDuoEmulator\artifacts\\bin
which is because of the space before the G. Having quotes around the parameters that include %DIRNAME% should fix this issue with that .bat file.
Let us know if that helps?