最近在用adb 连接华为手机的时候,经常出现连接不上,找不到设备等问题,终于解决了,记录一下。
对于华为的新手机而言,第一次连接使用adb + ip 的方式是连接不上的,必须先使用数据线连接调试后,才能开启远程连接。
开启调试模式
- 确保自己打开了开发者模式(设置→系统→关于手机→连续点击版本号七次)
- 开发者模式开启之后,系统→ 开发人员选项→勾选开启USB调试,勾选开启“仅充电”模式下允许ADB调试
![](https://images.redream.cn/upic/2019/20220513131355-mbxbWa.jpg)
USB 连接调试
我在用USB连接的时候,之前一下就能连上,这次换了手机没连上,也可能是我的adb 启动时间较长。一直是连接不上的状态。
![](https://images.redream.cn/upic/2019/20220513131704-LE8mME.jpg)
解决办法是重启adb.
adb kill-server
adb start-server
![](https://images.redream.cn/upic/2019/20220513132020-NovaHy.jpg)
另外,有的时候USB 连接后,adb devices 命令可以看到已连接,但几秒后又不见了。很可能是连接不稳定,可以换USB线试下,或者趁着连上的几秒,快速切换为tcpip 连接。
远程连接
我们不希望每次连接都要插上数据线,在同一个WiFi下,最好直接用ip连接即可。
但刚开始ip 始终连接不上。
![](https://images.redream.cn/upic/2019/20220513131954-F3fd5B.jpg)
- 输入 adb tcpip 5555 (这个是从usb模式切换到无线连接,后面的5555为端口,可以指定其他的端口,前提是端口未被调用)
- 输入adb connect 192.168.xxxx.xxxx:5555 (192.168.xxxx.xxxx为你手机的ip地址,5555为了设置·的端口号)
- 第二次连接的时候无需数据线了,在保证电脑和手机在同一个局域网的情况下直接在终端输入
![](https://images.redream.cn/upic/2019/20220513132305-HwbhLx.jpg)
权限问题
华为的鸿蒙系统会适配安卓,连上Android Studio 可以看到安卓版本。
Android 11 后,限制了对sdcard/Android/data 目录的访问,adb 也访问不了。
![](https://images.redream.cn/upic/2019/20220513225514-QxNsHK.jpg)