[mono-android] Preview 14 - Can't deploy
Jonathan Pryor
jpryor at novell.com
Tue Mar 15 09:52:11 EDT 2011
On Mar 15, 2011, at 9:06 AM, SebastianKellner at cs-ag.de wrote:
> since I use Preview 14 of Monodroid, I can't deploy to my emulator anymore.
Which API level?
How much free space do you have on your internal storage (i.e. is it full)?
Do you have an SD card specified for your device? Does it have any free space?
In Preview 14, we changed the default install location for packages [0] from "internalOnly" (the default if the android:installLocation isn't specified at all, which was previously the case) to "preferExternal." It's _plausible_ that if your emulator doesn't have an SD card [1], then Android would generate the INSTALL_FAILED_MEDIA_UNAVAILABLE error.
A cursory grepping of Android suggests that DefaultContainerService.java is the controlling factory, specifically DefaultContainerService.recommendAppInstallLocation() [2], and that if you're out of internal space and the package specifies preferExternal (as we do) and the SD card is unavailable (status.equals(Environment.MEDIA_MOUNTED) is false), then RECOMMEND_MEDIA_UNAVAILABLE is returned, which is translated into INSTALL_FAILED_MEDIA_UNAVAILABLE. This still seems odd to me (wouldn't RECOMMEND_FAILED_INSUFFICIENT_STORAGE make more sense?), but this _appears_ to be what's happening to you.
- Jon
[0] http://developer.android.com/guide/topics/manifest/manifest-element.html#install
[1] Within the `android` app, go to Virtual devices, select a device, click Edit, and look at the SD Card section.
[2] http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;f=packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java;h=ce10f5b71d4582632a2f37bf2d89b08539d1d5c7;hb=HEAD#l386
More information about the Monodroid
mailing list