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).
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
- 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?
- Mar 14, 2020
Hello Craig_Dunn ,
Thank you for the detail information and support , After changing the script, I can successfully launch the emulator by clicking the run.bat, However when I tried to run the sample app (surface duo Xamarin sample apps) I didn't find the Surface Duo emulator in option, (even I build, the solution )
I also tried following the steps
- removed the -ports 5575,5579 in run.bat ,
- replaced run.bat with the original xamarin script and modified the part ANDROID_PRODUCT_OUT as run_androidstudio.bat, the run.bat not throw any error , its successfully launch the emulator.
The same thing applied to run_vs.bat, and I can directly launch the emulator by clicking run_vs.bat
However still I wasn't able to successfully connect the emulator to Visual studio.
- Craig_DunnMar 19, 2020
Microsoft
Sivaprasad. G after you start the emulator with run_vs.bat, can you do adb devices in the command line and confirm that the Surface Duo emulator shows up there? The Surface Duo emulator might not automatically appear in the Visual Studio menu by default, but if it is shown in the adb devices list, then it should also be available in Visual Studio.
- tggmbiMar 12, 2020Former Employee
thanks!,
I have compared and its identical to what I have...
Next step 🙂 ,
can you send me the text that is in the console ?
(just ctrl-a then enter) so we can look for any errors.
Meir