我已经为 Visual Studio 2010 安装了 JDK、Android SDK 和 Mono Android,我创建了一个空的解决方案,并且使用 Android 2.3.3 启动并运行了模拟器 - 到目前为止一切顺利。
当我尝试将应用程序部署(F5)到模拟器时,它会连接到模拟器,一切正常,直到它开始“安装平台框架”。然后它加载了几分钟,最后抛出一个如下所示的异常:
我已经尝试过谷歌搜索它,但 INSTALL_FAILED_MEDIA_UNAVAILABLE 似乎没有在其他地方描述。
我不知道这是否是一个重要的细节,但在我的电脑上,我已将主文件夹(文档、收藏夹、桌面等)重新映射到“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 的可用空间(用于运行时包、平台包和应用程序)。发布版本明显更小 http://mono-android.net/Documentation/Linking,但无法使用评估版本创建发布版本。
It's 似是而非的如果你的模拟器没有 SD 卡,那么 Android 会生成INSTALL_FAILED_MEDIA_UNAVAILABLE
错误。 (要将 SD 卡添加到模拟器,请启动android
应用程序,转到虚拟设备,选择一个设备,单击编辑,然后查看 SD 卡部分。)
对 Android 的粗略研究表明默认容器服务.java 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是控制因素,具体来说DefaultContainerService.recommendAppInstallLocation() 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,如果您的内部空间不足并且包装指定auto
(就像 Android 上的 Mono 一样)并且 SD 卡不可用(status.equals(Environment.MEDIA_MOUNTED)
is false
), then RECOMMEND_MEDIA_UNAVAILABLE
返回,翻译为INSTALL_FAILED_MEDIA_UNAVAILABLE
。这对我来说仍然很奇怪(不会RECOMMEND_FAILED_INSUFFICIENT_STORAGE
更有意义吗?),但是这个appears成为正在发生的事情。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)