Bug 8473 - Mono for Android App installation Reinstalls Everything
Summary: Mono for Android App installation Reinstalls Everything
Status: RESOLVED FIXED
Alias: None
Product: Xamarin Studio
Classification: Desktop
Component: Android Add-in ()
Version: 4.0
Hardware: PC Mac OS
: --- normal
Target Milestone: ---
Assignee: Alan McGovern
URL:
Depends on:
Blocks:
 
Reported: 2012-11-16 22:56 UTC by Jonathan Pryor
Modified: 2012-11-19 10:14 UTC (History)
1 user (show)

Tags:
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:
Status:
RESOLVED FIXED

Description Jonathan Pryor 2012-11-16 22:56:56 UTC
MonoDevelop caches the Mono for Android version information at startup, and uses that information when determining whether or not packages should be removed from the target device.

Repro:

1. Install e.g. Mono for Android 4.2.5. (Doesn't matter too much...)
2. Start MonoDevelop.
2.b. Maybe build a Mono for Android project for good measure?
3. Install e.g. Mono for Android 4.2.8. (Doesn't matter; just newer than (1).)
4. Install a Debug project onto device.

What I see is that ~everything gets removed from the device: the shared runtime, the platform package, the app, and all are reinstalled.

Every time the app is run.

What should be a ~2s operation (minor code change, Run) becomes a 20+s operation.

Every time the app is run.

It's...annoying, and took me awhile to figure out the cause was due to caching. (I noticed because I went to About, saw the listed Mono for Android version, and saw that it didn't match what I knew was installed.)
Comment 1 Alan McGovern 2012-11-19 06:26:51 UTC
I can't repro this. Can you give me more exact instructions? Can you even still repro this with newer MD builds?
Comment 2 Jonathan Pryor 2012-11-19 09:32:19 UTC
MonoDevelop (ui-refresh) version information:

	Mono 2.10.10 (mono-2-10/cdd5f81)
	GTK 2.24.13
Git revision: Release ID: 40000000
809a9337ae2b5903fec7025fc900f0dff001c98c
Build date: 2012-11-15 14:16:58+0000
Comment 3 Alan McGovern 2012-11-19 10:14:40 UTC
I can't repro with more or less the same revisions as jonp had. I tried a few combination of old and new versions and while I could trigger this issue sometimes, it only happened once. i.e. the shared runtime was detected as being old for just 1 build. Once it was re-uploaded everything worked fine. It must've been a temporary regression/bug in android-tools or md which has already been fixed.