我已经为 Visual Studio 2010 安装了 JDK、Android SDK 和 Mono Android,我创建了一个空的解决方案,并且我启动了模拟器并在 Android 2.3.3 上运行——到目前为止一切都很好。
当我尝试将应用程序部署(F5)到模拟器时,它会连接到模拟器,并且一切正常,直到它开始“安装平台框架”。然后它加载了几分钟,最后抛出一个如下所示的异常:
我试过谷歌搜索它,但 INSTALL_FAILED_MEDIA_UNAVAILABLE 似乎没有在其他任何地方描述。
我不知道这是否是一个重要的细节,但在我的 PC 上,我已将我的主文件夹(文档、收藏夹、桌面等)重新映射到诸如“D:\Mikkel\Dokumenter”之类的文件夹。最初启动模拟器时似乎会引起一些问题,但在添加指向“D:\Mikkel.android”的环境变量“ANDROID_SDK_HOME”后,模拟器启动没有问题。
请指教。
最佳答案
确保您的设备中有足够的内部和外部可用空间。您可以使用以下命令确定可用空间:
$ adb shell df
Filesystem Size Used Free Blksize
/dev 192M 32K 192M 4096
/mnt/asec 192M 0K 192M 4096
/mnt/obb 192M 0K 192M 4096
/system 145M 124M 20M 4096
/data 196M 167M 29M 4096
/cache 95M 32M 62M 4096
/mnt/sdcard 3G 177M 3G 32768
在上面的输出中,
/data
(默认安装位置)有 29MB 可用空间,而 /mnt/sdcard
(SD 卡和外部安装位置)有 3GB 可用空间。对于调试版本,您需要有大约 40MB 的可用空间(用于运行时包、平台包和应用程序)。 Release builds are significantly smaller ,但不能使用评估版本创建发布版本。
如果你的模拟器没有 SD 卡,那么 Android 会生成
INSTALL_FAILED_MEDIA_UNAVAILABLE
是合理的。错误。 (要将 SD 卡添加到您的模拟器,请启动 android
应用程序,转到虚拟设备,选择一个设备,单击编辑,然后查看 SD 卡部分。)对 Android 的粗略研究表明 DefaultContainerService.java是控制因素,特别是 DefaultContainerService.recommendAppInstallLocation() ,并且如果您的内部空间不足并且包指定
auto
(就像 Mono for Android 一样)并且 SD 卡不可用( status.equals(Environment.MEDIA_MOUNTED)
是 false
),然后是 RECOMMEND_MEDIA_UNAVAILABLE
返回,翻译成INSTALL_FAILED_MEDIA_UNAVAILABLE
.这对我来说仍然很奇怪(RECOMMEND_FAILED_INSUFFICIENT_STORAGE
更有意义吗?),但这似乎是正在发生的事情。
关于xamarin.android - 失败 INSTALL_FAILED_MEDIA_UNAVAILABLE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5815625/