adb
是否在开发时,遇到ADB获取手机IP失败?
以往Android5之前,手机IP获取还是很简单,基本上通过一条命令就可以获取到
但现在已经发展到了Android 14,很多厂商为了安全,把ADB权限降的越来越低。
下面说的方法,不一定对所有Android手机都有效果,但至今我个人使用这几条命令,还没见过获取不到的。
- 首先确保您的计算机上已安装了Android Debug
Bridge(adb)。如果尚未安装,请访问Android开发者网站下载并安装适用于您操作系统的平台工具包。 - 通过USB数据线将Android手机连接到计算机。确保手机已启用USB调试模式。
- 打开命令提示符(Windows)或终端(macOS/Linux),然后输入以下命令以获取与计算机连接的所有Android设备的列表:
Microsoft Windows [版本 10.0.17763.194]
(c) 2018 Microsoft Corporation。保留所有权利。
D:\adb>adb devices
List of devices attached
9888d3424d41455a4b device
9888da364c5a52464c device
98891333364e4c4b4c device
98891431595348324e device
988919444b4b314d42 device
- 从列表中确认您要获取IP地址的设备。
准备工作做完,我们开始获取IP
获取IP方法(一)
adb shell ip route
D:\adb>adb -s 988b5c353737355136 shell ip route
192.168.6.0/24 dev wlan0 proto kernel scope link src 192.168.6.38
- 然后通过正则方式,把IP取出来即可!
获取IP方法(二)
adb shell ifconfig wlan0
D:\adb>adb -s 988b5c353737355136 shell ifconfig wlan0
wlan0 Link encap:UNSPEC
inet addr:192.168.6.38 Bcast:192.168.6.255 Mask:255.255.255.0
inet6 addr: fe80::cc34:6b07:8b35:d056/64 Scope: Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2615 errors:0 dropped:0 overruns:0 frame:0
TX packets:2156 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:394330 TX bytes:182778
- 这条命令,是把当前网口信息读取出来。信息比较多。
- 部分型号手机,返回的数据 也有些不一样。
- 有些手机是 ip:192.168.6.38
- 有些手机是 inet addr:192.168.6.38
获取IP方法(三)
adb shell netcfg
获取IP方法(四)
adb shell ip addr show wlan0
D:\adb>adb -s 988b5c353737355136 ip addr show wlan0
9: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether a0:c9:a0:eb:88:b2 brd ff:ff:ff:ff:ff:ff
inet 192.168.6.38/24 brd 192.168.6.255 scope global wlan0
valid_lft forever preferred_lft forever
inet6 fe80::cc34:6b07:8b35:d056/64 scope link stable-privacy
valid_lft forever preferred_lft forever
- 返回数据很多,上面数据 我已经精简化了。
- 这条命令是读取了 所有的网口信息
我所了解到,就是这上面4条命令。
我一直在用的是 第一个和第二个
首先用第一个获取,判断如果获取不到,就使用第二个。