运行adb shell出现error错误怎么办?

 我来答
刺任芹O
2022-11-16 · TA获得超过6.2万个赞
知道顶级答主
回答量:38.7万
采纳率:99%
帮助的人:8621万
展开全部

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_01123

这里我们只需要仿照这种文件的格式,复制这些驱动信息,并用2中获取的2A45和0C02来修改,如下:

;MEIZU metal%SingleAdbInterface%        = USB_Install, USB\VID_2A45&PID_0C02%CompositeAdbInterface%     = USB_Install, USB\VID_2A45&PID_0C02&MI_01123

保存并关闭。 
4、卸载掉原来驱动程序,重启电脑。确保手机已经进入开发者模式并允许USB调试,连接方式选择传输文件。然后再次右键电脑->管理->设备管理->其他设备。可以看到ADB Interface选项上有一个问号,表示该驱动没有正确安装。选中ADB Interface并右键选择更新驱动程序软件->浏览计算机以查找驱动程序软件,在浏览中选进我们之前添加了硬件设备驱动信息文件android_winusb.inf的文件夹(D:\android-sdks\extras\google\usb_driver,这里只需要选择文件夹,不需要选择文件),下一步后选择始终安装。 

5、安装成功后,在设备管理中会出现一个Android Phone的选项。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式