Android模拟器启动故障汇总

不知道为什么, 我做Android开发总是会遇到模拟器的各种问题,难道是因为我没有安装Java(用的是Eclipse下的jre)?

 

为了总结经验,我决定写这篇文章把我遇到的问题和解决办法罗列出来,以供参考。

 

1、

emulator: ERROR: the user data image is used by another emulator. aborting

从字面意思来理解,userdata.img被另外一个模拟器占用。问题是我就只开了一个模拟器啊。

 

 

对这个问题,网上查到的解释都差不多,大体就是删除android-sdk-windows/.android/avd/对于版本/下的以.lock结尾的文件夹就行。但遗憾的是,这个方法我从来就没成功过。

 

没有办法,我只好自己瞎试,我把avd目录删掉,重新创建,上次这样解决了一个类似问题,但这次仍然不行,看来问题不是出在avd里的文件身上。然后我又怀疑是不是网络通讯问题,打开Comodo Firewall看了一会,也没找到可疑之处。随后我又打开Eclipse的DDMS,发现这里并没有连接上模拟器,但又找不到启动模拟器或类似的命令按钮。

我继续瞎转,到处乱点,终于在一个地方找到了点有用的东西,在DDMS的Device框的右上角有个下拉箭头,点开后有一个Reset adb。反正没办法,我就点了一下Reset adb,结果有反映了,出了一些红字(忘了保存被冲掉了,下次再补上),然后DDMS和我已经运行的模拟器连接上了,而且自动执行了我之前要求运行的指令。

到这里我才明白故障原理(不是原因,原因我还没弄清楚),我第一次点运行程序时,Eclipse检测到没有模拟器,会自动运行模拟器,然后我第二次点运行程序时,正常情况下,Eclipse检测到模拟器,就使用当前模拟器来执行,但现在不知道为什么,Eclipse并没有检测到模拟器,于是它又试图运行一个新的模拟器,而模拟器的文件已被第一个模拟器所占用,所以就出现了上述的错误提示。而当我Reset adb后,eclipse检测到了第一个模拟器,于是就在第一个模拟器上执行我第二次点运行程序时没完成的指令操作。

你可能感兴趣的:(java,eclipse,android,image,user,通讯)