我已经按照this问题的答案而没有成功。我无法回答所发布的答案(缺乏声誉)所以我不得不提出一个新问题。
清除所有 adb 进程并未缓解“已使用的SD卡图像”错误。同样,如果我删除SD卡图像,创建一个新图像,然后立即启动模拟器,错误仍然存在。模拟器加载到手机主屏幕后,会显示“SD Card Removed”消息。以下是调用模拟器时我的命令行:
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声称该图像已被使用。
答案 0 :(得分:3)
删除锁定pid文件?
我在Windows7上遇到了与SD卡图像相同的问题,以及Eclipse不想与Adb连接的一般问题。国家似乎不同步。
在Windows中,有锁文件。在我的情况下(环境,如果你愿意)它是C:\Users\joe\.android\avd\Em22.avd\xxx\pid
其中xxx是:
当eclipse的状态似乎丢失时,我关闭所有内容,并删除锁定目录中的pid文件。它至少在一次Eclipse不能与adb连接的情况下完成了这个伎俩,当它发生这种情况时,抱怨锁定的SD卡图像。
哎呀,我刚刚注意到它在原始问题的链接中有相同的答案。
答案 1 :(得分:1)
这是解决方案, 1)打开任务管理器。 2)从列表中关闭所有正在运行的模拟器。 3)如果运行任何程序,关闭bluestack程序。 4)现在你完成了。您现在可以运行New模拟器。
答案 2 :(得分:0)
SD卡图像应该是可写的FAT32图像文件。见this link
您似乎正在使用ISO映像。
如果您真的怀疑使用特定SD卡图像的另一个进程(模拟器),您可以通过运行确认它
$ fuser ~/.android/avd/4.0.3.avd/sdcard.img
~/.android/avd/4.0.3.avd/sdcard.img: 90719
在这种情况下,有一个模拟器正在运行(或其他打开文件的东西)(pid 90719)。