背景
入职后,单位给我的测试手机是OPPO r11。结果手机连上mac电脑后,不管是Android Studio4.2还是adb,都找不到测试机。经过一番尝试,发现oppo需要特殊处理,详情参见本文内容
激活oppo r11
如果用的oppo r11是第一次使用,就需要插入sim卡激活。激活一次,以后就不用sim卡了
打开开发者选项
设置->关于手机->快速点击版本号7次即可打开开发者设置,而后在设置->其他设置->开发者选项->打开USB调试
保存vendorID
连上电脑,在命令行中输入命令system_profiler SPUSBDataType
➜ ~ system_profiler SPUSBDataType
USB:USB 3.0 Bus:Host Controller Driver: AppleUSBXHCISPTLPPCI Device ID: 0x9d2fPCI Revision ID: 0x0021PCI Vendor ID: 0x8086USB2.1 Hub:Product ID: 0x0610Vendor ID: 0x05e3 (Genesys Logic, Inc.)Version: 6.55Speed: Up to 480 Mb/sManufacturer: GenesysLogicLocation ID: 0x14100000 / 1Current Available (mA): 500Current Required (mA): 100Extra Operating Current (mA): 0SDM660-MTP _SN:2F5425E8:Product ID: 0x2766Vendor ID: 0x22d9Version: 4.04Serial Number: b0a4aacaSpeed: Up to 480 Mb/sManufacturer: OPPOLocation ID: 0x14110000 / 47Current Available (mA): 500Current Required (mA): 500Extra Operating Current (mA): 0USB 3.1 Bus:Host Controller Driver: AppleUSBXHCIARPCI Device ID: 0x15d4PCI Revision ID: 0x0002PCI Vendor ID: 0x8086Bus Number: 0x00USB3.1 Hub:Product ID: 0x0626Vendor ID: 0x05e3 (Genesys Logic, Inc.)Version: 6.55Speed: Up to 5 Gb/sManufacturer: GenesysLogicLocation ID: 0x00100000 / 1Current Available (mA): 900Current Required (mA): 0Extra Operating Current (mA): 0➜ ~
寻找OPPO字样,可以得到vendorID:
SDM660-MTP _SN:2F5425E8:Product ID: 0x2766Vendor ID: 0x22d9Version: 4.04Serial Number: b0a4aacaSpeed: Up to 480 Mb/sManufacturer: OPPOLocation ID: 0x14110000 / 47Current Available (mA): 500Current Required (mA): 500Extra Operating Current (mA): 0
而后修改(没有则创建)~/.android/adb_usb.ini文件,加入vendorID
➜ ~ vim .android/adb_usb.ini
0x18d1
最后重启adb服务,插拔数据线
➜ ~ adb kill-server && adb start-server
如果adb devices还是检测不到设备,转下一步
更改OPPO的USB配置
设置->其他设置->开发者选项->选择USB配置->改为RNDIS(USB以太网),默认是MIDI,这样应该就可以在手机上允许电脑用USB调试了,再在电脑上测试,就可以看到设备被检测出来(此处无需sim卡,因为在第一步就已经激活oppo):
结语
以后,如果再发生adb找不到oppo手机的情况,首先更改oppo的usb设置,再关闭开启USB调试,就可以了。