TA的每日心情 | 无聊 前天 09:05 |
---|
签到天数: 1050 天 连续签到: 1 天 [LV.10]测试总司令
|
做Android开发连接手机调试时,明明已经打开了开发模式,允许USB调试,连接上手机后仍然无法发现设备,在控制台中输入adb shell后报错error:device not found。网上的做法大致分为:
1、adb kill-server来杀死adb进程,然后再使用adb start-server命令来开启;
2、检测5037端口(adb.exe默认端口)是否被占用,关闭除adb.exe以外占用了5037端口的进程,重新开启adb服务:
2.1、adb nodaemon server:检测5037端口是否被占用;
2.2、netstat -ano | findstr “5037”:查看是什么进程占用了5037端口;
2.3、tasklist | findstr “21152”:查看这个进程是由哪个程序创建的(21152就是占用5037端口的一个进程的PID);
2.4、taskkill /f /pid 21152:将进程关掉;
2.5、adb devices:显示当前连接设备。
在此提供另外一种解决方案,通过手动查看硬件ID,并安装google原生android debug驱动;
1、右键我的电脑->管理->设备管理->Android Phone.在这里我们可以看到对应android设备的驱动。
2、选中该驱动右键属性,在详细信息选项下,在属性(p)选项中选择硬件Id,记录下面的值(v)中的信息,例如某设备的这一值为:
- USB\VID_2A45&PID_0C02&REV_????&MI_01
- USB\VID_2A45&PID_0C02&MI_01
复制代码 主要关注2A45和0C02这两个值。
3、在电脑中找到android开发下载的sdk目录(假设你已经通过sdk manager下载了),进入\extras\google\usb_driver文件夹下,找到android_winusb.inf并打开,这就是google针对android的一个配置文件。在文件中找到[Google.NTx86](针对32位平台,64位同理添加)这一行,在下面可以看到很多android设备的驱动信息,例如:
- ;Google Nexus One
- %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02
- %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02&MI_01
复制代码 这里我们只需要仿照这种文件的格式,复制这些驱动信息,并用2中获取的2A45和0C02来修改,如下:
- ;MEIZU metal
- %SingleAdbInterface% = USB_Install, USB\VID_2A45&PID_0C02
- %CompositeAdbInterface% = USB_Install, USB\VID_2A45&PID_0C02&MI_01
复制代码 保存并关闭。
4、卸载掉原来驱动程序,重启电脑。确保手机已经进入开发者模式并允许USB调试,连接方式选择传输文件。然后再次右键电脑->管理->设备管理->其他设备。可以看到ADB Interface选项上有一个问号,表示该驱动没有正确安装。选中ADB Interface并右键选择更新驱动程序软件->浏览计算机以查找驱动程序软件,在浏览中选进我们之前添加了硬件设备驱动信息文件android_winusb.inf的文件夹(D:\android-sdks\extras\google\usb_driver,这里只需要选择文件夹,不需要选择文件),下一步后选择始终安装。
5、安装成功后,在设备管理中会出现一个Android Phone的选项。
按照这个方式尝试下!
|
|