Bug 39356 - [FEATURE REQUEST] Deploy application in multiple devices (ANDROID)
Summary: [FEATURE REQUEST] Deploy application in multiple devices (ANDROID)
Alias: None
Product: Xamarin Studio
Classification: Desktop
Component: Android Add-in ()
Version: 5.10 (C6SR3)
Hardware: PC Mac OS
: Normal enhancement
Target Milestone: (C8)
Assignee: Greg Munn
Depends on:
Reported: 2016-03-04 11:07 UTC by jzeferino
Modified: 2016-09-14 21:16 UTC (History)
1 user (show)

Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.

Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:

Description jzeferino 2016-03-04 11:07:55 UTC
As i talked here: https://forums.xamarin.com/discussion/61392/deploy-debug-application-in-multiple-devices-android?new=1

and here: http://stackoverflow.com/questions/35601461/deploy-debug-application-in-multiple-devices-xamarin-android

i would like to request a feature that exits in Android Studio that is run in debug the application in multiple devices.
Comment 1 Greg Munn 2016-04-20 18:43:12 UTC
I don't know if I understand your request. Are you suggesting that you be able to debug the same app on multiple devices simultaneously? How does that even work? Or are you asking to just be able to *deploy* the app to multiple devices at the same time? Then what?

Can you elaborate a little more on how you think this could or should work.
Comment 2 jzeferino 2016-04-20 19:03:34 UTC
Im sorry for my not so clear explanation.
I, and, other developers that i talked too, think that would be very good to have something like android studio has.
the feature that i am requesting is to deploy the application to as many devices/emulators as i have connected to my machine.
this would be very important when testing some features in different devices.
Of course, for debug we can only use one device. But for run would be nice to could select and run the app simultaneously in all connected devices/emulator.

thanks. please give me some feedback.
Comment 3 Greg Munn 2016-04-20 19:11:19 UTC
Ok, thanks. That makes it clearer.

This sounds like it should be possible to provide a way to do this. The only issue I can think of is that when building with Fast Deployment (or the up coming Instant Run support) there might be some issues with how the builds are cached.
Comment 4 jzeferino 2016-04-20 19:22:34 UTC
If there is any way to deploy the app witout the fast deployment it would be ok.
But if you find a better way (using the Fas Deployment\Instant run).

Do you expect any possible release date or even start to implement this feature?
Comment 5 Greg Munn 2016-04-20 19:27:08 UTC
I can't give you a date for this at this time.
Comment 6 jzeferino 2016-04-20 19:30:09 UTC
Ok. Thank you.
Comment 7 xamarin-release-manager 2016-05-20 14:40:18 UTC
Fixed in version (master)

Author: Greg Munn
Commit: 34709d3b07f2ef75ea7dca7fa360dd1eee8819ee (xamarin/md-addins)
Included in Commit: f7dcfd426606508d28836970af15ab9735f079b4 (mono/monodevelop)
Comment 8 jzeferino 2016-06-12 23:35:33 UTC
Greg, with the commit hash i can't find the commit.
If this is public, could you give me the commit url on github?
Thank you.
Comment 9 Greg Munn 2016-06-13 14:04:01 UTC
No, it's not public. The android / ios addins to Xamarin Studio are proprietary code. It will be released in Cycle 8 (Cycle 7 just went to stable).
Comment 10 jzeferino 2016-06-13 17:25:54 UTC
Thank you again Greg.
Comment 11 jzeferino 2016-09-11 10:39:22 UTC
Hi Greg, i've been looking (https://developer.xamarin.com/releases/studio/xamarin.studio_6.1/xamarin.studio_6.1/ and https://releases.xamarin.com/beta-preview-4-cycle-8/) in the release notes from cycle 8 in xamarin studio and android releases and didn't find any information regarding the addition of this feature? What I'm missing? Thank you.
Comment 12 Greg Munn 2016-09-12 14:59:34 UTC
Sorry, good catch. I forgot to add this to the release notes.

It's in the current beta, basically what we could do was to provide a prompt to select which devices you wanted to deploy your app to when you use "Run | Upload to Device". We could not do that during the debug or run experience because that wouldn't work with the device selector (and other issues like what happens if the app stops on one device and not others, does the "play" button change state etc).

For simple uploads though it will work and you can deploy to multiple devices.
Comment 13 jzeferino 2016-09-14 18:08:46 UTC
Finally it was release been waiting for this for so long.

But when I read carefully what you said I got so sad.
The feature I was talking about is SIMILAR to android studio. There you can make the application RUN in multiples devices at the same time. Its not needed to debug it. Its just to run the apps on de devices.
This is very helpful if I have 3 android simulator and i want to see how the layout fit in all 3 devices without running one by one. 

I guess my original request was't to clear.

Did you understand what I'm requesting now?
Comment 14 Greg Munn 2016-09-14 20:27:05 UTC
I think I understood you correctly, but I wasn't clear enough at the beginning. Right now the user experience for Xamarin Studio doesn't support what you're after. When the user presses "Run" in Xamarin Studio, regardless of debugging or not, Xamarin Studio monitors the app. If the app stops, then the play button changes from a stop button back to a play button. Similarly, if the user presses the stop button then Xamarin Studio stops the app.

This doesn't really translate well to a case with multiple instances of the app being monitored. What should happen if one of them stops? should Xamarin Studio change state from showing the stop button back to the play button and so on.

However, currently (prior to this update), it wasn't easily possible to deploy the app to multiple devices without having to go and select each device separately and then deploy which I can understand would be a tiresome exercise if you have 3 or 4 or more devices. So, this is an improvement at least.

If you're just launching the app, for now, you could just write a script which calls

  adb -d <deviceid> shell am start <the package/activity>
Comment 15 jzeferino 2016-09-14 20:54:02 UTC
Thanks again for your time.

Yes, it was my bad not being fully clear when requested this. The feature you implemented its good , and will let me do what I want using some kind of scripting like you said.

However the feature I suggest its a big improvement and a really time saving for android developers, since developing for android as many different screen sizes and densities. 

With this feature I request Xamarin sutio doesn't need to monitor any of the apps at all. When could have another button only visible when android project is set as default that allows the developers to Ru on multiple devices. When the user press that button the developer can mark what devices to lauch the app. Them the .apk installed in every device and then launched. This type of launch is like fire and forget. Xamarin sutio won't monitor anything in that launched apps. 

Should I open and improvement for this, or something else?
Comment 16 Greg Munn 2016-09-14 21:10:48 UTC
You can file a new request if you like. Reference this one in the comments.

BTW, I understand that the designer supports viewing your layouts in different sizes / devices as well.
Comment 17 jzeferino 2016-09-14 21:16:59 UTC
I will.

Yes, i know that, but there are somethings that the designer can tell. Real device is always needed, or simulator.

many thanks.