Android调试很多时候都是使用模拟器,但有些时候要用到真机才有的功能,这个时候就要上真机调试了。
比如用台式机写程序的时候要调试WIFI,就不能用模拟器了。
我们开发的程序都在应用层,一般不会对系统造成什么损害,调试不行卸载就完了,顶多遗留点垃圾文件。
要用真机调试,首先用USB线将手机练到电脑上,并且将手机设置为调试模式
方法:设置-应用程序-开发者选项-USB调试模式 勾上
如果手机正确连上了,应该能在资源管理器查看手机里的文件,就像浏览USB存储设备一样。
如果不能正确浏览,有可能是手机驱动程序没装好,但不能浏览文件不一定表示不能进行真机调试。
adb devices查看连接的设备,如果没有出现手机设备,就代表计算机的确没有找到手机
此时有几个可能
1、USB线有问题。不要低估这个可能性,因为我之前有次就是计算机总是找不到手机设备,而插上以后手机又能充电,换一根数据线就好了。
有时候数据线能充电不代表也能传数据
2、重启adb。通过命令
adb kill-server 结束adb
adb devices 重新启动adb
3、通过adb version查看adb的版本,看是否版本太老。我的adb版本是1.0.32。如果是1.0.29或更早的,有可能因为adb版本太老的原因导致识别不了。
如果电脑识别到了手机,能在资源管理器中浏览手机里的文件了。但是用adb devices却发现不了设备。
那么有可能是adb驱动没装好,去网上下一个adb_interface_usb_driver装上就好了。我是从下面这个链接下的
http://download.csdn.net/detail/hucktwain/8298803
即使识别了,也可能是这样的
XXX unauthorized
emulator-5554 device
其中XXX是手机的ID(vendor ID)
此时在Eclipse里运行时选择
Run——Run Configurations
可以发现虽然在choosing device下有我们的手机设备,但它是显示offline的,依旧不能调试。
解决办法
将手机ID加入~/.android/adb_usb.ini这个文件中,帮助adb发现手机设备
其中~代表AVD设备目录,就是ANDROID_SDK_HOME这个环境变量设置的目录
如果没有设置这个环境变量,默认AVD目录在系统盘当前用户的目录下面。
将ID加入adb_usb.ini文件以后,再运行
adb devices
会显示
XXX devices
emulator-554 devices
其中XXX是连接的手机设备ID,emulator是当前已启动的模拟器
此时就可以使用真机调试了。
参考:
http://www.cnblogs.com/lanxuezaipiao/archive/2013/03/11/2953564.html
http://stackoverflow.com/questions/7135999/adb-not-finding-my-device-phone-macos-x