部署Xamarin Forms Android应用时模拟器存储不足问题求助
解决Xamarin Forms部署到Android模拟器时存储空间不足的问题
我之前也碰到过一模一样的糟心事,用VS2017做Xamarin Forms开发,部署到模拟器时总是提示设备存储空间不足,无法存储安装包:/data/local/tmp/Mono.Android.DebugRuntime-debug.apk,试了卸载应用、调SD卡这些常规操作都没用,后来折腾出几个有效方案,你可以挨个试试:
方案1:彻底重置/重建模拟器
这是最直接的办法,很多时候模拟器的存储残留是隐性的,清理表面数据没用:
- 打开Android Device Manager,找到你正在用的模拟器,点击「Actions」菜单里的「Wipe Data」,等重置完成后重启模拟器再部署。
- 如果重置后还是不行,直接删除这个模拟器,重新创建一个新的。注意创建时一定要把**Internal Storage(内部存储)**调大到2GB以上(别只盯着SD卡大小,安装包是存在内部存储的临时目录里的),RAM可以按需设置,但内部存储是关键。
方案2:手动清理模拟器内部存储的临时文件
有时候模拟器的临时目录里堆了很多旧安装包,手动清理更彻底:
- 打开命令提示符,导航到Android SDK的
platform-tools目录,比如:cd C:\Users\你的用户名\AppData\Local\Android\Sdk\platform-tools - 连接到模拟器(端口号一般是5554或5556,你可以在Android Device Manager里看到):
adb connect localhost:5554 - 进入模拟器的shell环境:
adb shell - 查看内部存储的使用情况,确认是不是
/data分区满了:df -h /data - 删除临时目录里的所有旧APK文件:
rm -rf /data/local/tmp/*.apk - 还可以清理缓存目录释放空间:
rm -rf /data/cache/* - 输入
exit退出shell,重启模拟器后再尝试部署。
方案3:调整Visual Studio的部署设置
有时候快速部署的缓存会占用额外空间,可以试试关闭:
- 右键你的Android项目 → 「属性」→「Android选项」→「高级」,取消勾选「使用快速部署(仅限调试)」,然后重新部署项目。
方案4:手动扩容模拟器的内部存储镜像
如果上面的方法都没用,可以直接扩容模拟器的内部存储镜像文件:
- 找到模拟器的镜像文件路径,一般在:
C:\Users\你的用户名\.android\avd\你的模拟器名称.avd - 备份里面的
userdata.img文件(防止操作失误)。 - 用Android SDK自带的
mksdcard工具扩容,比如扩容到4GB:mksdcard -l myInternalStorage 4096M userdata.img - 重启模拟器后再部署。
最后提醒一下:模拟器的内部存储和SD卡是相互独立的,你之前调SD卡大小没用,就是因为安装包是存放在内部存储的/data/local/tmp目录下,所以所有操作都要围绕内部存储来做哦。
内容的提问来源于stack exchange,提问作者Christian Moore
相关产品推荐
相关产品推荐

