2

我已经按照这个问题的答案没有成功。我无法回复发布的答案(缺乏声誉),所以我不得不提出一个新问题。

清除所有adb进程并不能缓解“SD 卡映像已在使用”错误。同样,如果我删除 SD 卡映像,创建一个新映像,然后立即启动模拟器,错误仍然存​​在。模拟器加载到手机主屏幕后,会显示“已移除 SD 卡”消息。这是调用模拟器时我的命令行的样子:

jet98f@rc04ucs213:/mnt/dfs/jet98f/Users/jet98f/android-sdk-linux/tools$ emulator -avd Phone -sdcard sdcard.iso

警告:数据分区已在使用中。变化不会持续!

警告:SD 卡映像已在使用中:sdcard.iso

警告:缓存分区已在使用中。变化不会持续!

无法将 /nethome/users/jet98f/.pulse/f4ac236e8e0d8ef32a8796d24e3c758b-runtime 符号链接到 /tmp/pulse-2L9K88eMlGn7:不支持操作

模拟器:模拟器窗口不在视野范围内,并已居中

编辑:还有一件事:运行 'lsof | grep sdcard ' 没有回报。也就是说,UNIX 实用程序说该文件未打开,但 adb 声称该映像已在使用中。

4

3 回答 3

3

删除锁定pid文件?

我在 Windows7 上,SD 卡映像也有同样的问题,以及 Eclipse 不想与 Adb 连接的一般问题。状态似乎不同步。

在 Windows 中,有锁定文件。在我的情况下(环境,如果你愿意的话)它是C:\Users\joe\.android\avd\Em22.avd\xxx\pid

其中 xxx 是:

  • 缓存.img.lock
  • 硬件-qemu.ini.lock
  • sdcard.img.lock <<<---
  • 用户数据-qemu.img.lock

当eclipse的状态似乎丢失时,我关闭了所有东西,并删除了锁定目录中的pid文件。它至少在 Eclipse 无法与 adb 连接的情况下做到了这一点,并且当它连接时,抱怨锁定了 sd 卡图像。

哎呀,我只是注意到它在原始问题的链接中得到了相同的回答。

于 2012-08-19T17:25:11.090 回答
1

这是解决方案,1)打开任务管理器。2)从列表中关闭所有正在运行的模拟器。3) 如果正在运行,请关闭 bluestack 程序。4) 现在你完成了。您现在可以运行新模拟器。

于 2014-10-29T02:43:42.160 回答
0

sdcard 映像应该是可写的 FAT32 映像文件。看到这个链接

看来您正在使用 ISO 映像。

如果您真的怀疑有另一个进程(模拟器)使用特定的 sdcard 映像,您可以通过运行来确认它

$ fuser ~/.android/avd/4.0.3.avd/sdcard.img 

~/.android/avd/4.0.3.avd/sdcard.img: 90719

在这种情况下,有一个模拟器正在运行(或其他打开文件的东西)(pid 90719)。

于 2012-04-05T04:01:07.330 回答