eclipse中Android模拟器,DDMS看不到设备的解决及有时无打印Log,自己有小改

在eclipse中启动模拟器AVD后,刚启动的时候,在控制台会看到相关的设备,在DDMS中也会有设备列表,只不过是offline的,
 但等到完全启动开的时候,DDMS中什么也没有,而且用adb命令adb devices查看设备,也没有任何设备。

 一般情况下,重启电脑就可解决。
 我要说的是不重启电脑的方法:
 1. 打开cmd命令行,切换到adb命令目录,如果你已经加入了环境变量,切换目录就省了。

 2. 输入命令:adb kill-server,adb被杀死了。

 3. 接着输入命令:adb start-server,重新启动adb。

 4. 再用adb devices命令,是不是看到设备了。

 此方法不仅适用模拟器,也适用真实的物理设备。

                                                 Log无打印

问题表现:连接手机与电脑后,驱动安装正确,USB调试模式打开,在DDMS中可以看到device及其进程的信息,但是logcat中就是没有信息输出
问题原因:一些rom默认关闭logcat
问题说明:ddms中设备名字显示为问号不影响,即adb get-serialno显示为问号不影响.
解决方法:
1.需要root权限(部分rom不需要)
2.打开logcat,并设置level,执行命令如下(android 升级之后 adb 在 platform-tools中,不在tools中)
adb shell
echo 1 > /sys/kernel/logger/log_main/enable
说明:将1写入日志开关文件,1为开,0为关
echo 2 >/sys/kernel/logger/log_main/priority
说明:将代表level的2写入优先级文件
3.重启adb,如果使用eclipse,先关闭eclipse,再重启adb,再启动eclipse
adb kill-server
adb start-server
4.此时logcat应该可以工作了,如果仍旧不工作,则更新adb
android update adb
5.重复第三步,此时logcat应该可以工作了,如果仍旧不工作,找到个人主目录下的android目录,如C:\Documents and Settings\Administrator\.android
找到这个目录下的adb_usb.ini文件,其内容默认只有三行,全为注释,在后面添加一行,内容为0x12d1
6.重复第三步,此时logcat应该可以工作了

以上对于手机调试打印Log还是没用,不知道写这个人当初有没有试过用手机调试来打印信息,反正我试了就是没有效果,用模拟器的话还是不错的,用以上方法完全可以。但模拟器不是万能,昨天我就把我写的一个程序在模拟器上可以跑起来,但装真机上就是不行,经调试时发现我是用公司的测试机做实验的,测试机上我没放号码卡,所以在真机上得到一个空的号码字符串,我在程序里要把前面的"+86"去掉,在截取字符长度时,出现了严重的数组越界错误,找到修改,OK了。不过有些功能模拟器上是没有的,手机上的重力感应器、方向感应器、距离感应器等,在模拟器上是没有的,只能在真机上试,不过android模拟器还是相当的强大,可以满足大多数的开发。


今天我解决了上面的问题,我把ADT 18版本更新到20就好了,用手机可以看到打印结果了

你可能感兴趣的:(eclipse,android,android,emulator)