Android开发:如何将电脑网络绑定到物理手机网络用于真机调试
物理设备调试时共享电脑网络的解决方案
方法1:ADB配置全局代理(兼顾联网与本地API访问)
- 确保手机和电脑处于同一Wi-Fi网络,先获取电脑本地Wi-Fi IP:
- Windows:执行
ipconfig查找无线局域网适配器的IPv4地址 - Mac/Linux:执行
ifconfig或ip addr查找Wi-Fi接口的inet地址
- Windows:执行
- 清除之前无效的ADB配置:
adb reverse --remove-all adb shell settings delete global http_proxy - 设置手机通过电脑代理上网:
注:8888是Charles、Fiddler等代理工具的默认端口,若未使用代理工具,需先在电脑启动本地代理服务。adb shell settings put global http_proxy 你的电脑IP:8888
方法2:端口转发+电脑网络共享
- 替代模拟器专属IP 10.0.2.2,直接转发本地API端口到手机:
之后手机用adb forward tcp:你的API服务端口 tcp:你的API服务端口你的电脑IP:API端口即可访问本地服务。 - 开启电脑网络共享给手机:
- USB共享:先在手机开发者选项/连接设置里开启「USB网络共享」,再在电脑端操作:
- Windows:右键上网网卡→ 属性→ 共享→ 勾选允许其他用户连接,选择手机对应的USB网络适配器
- Mac:系统设置→ 通用→ 共享→ 勾选「互联网共享」,来源选当前上网接口,目标选「USB」
- Wi-Fi共享:将电脑设置为热点,手机连接该热点即可自动共享网络。
- USB共享:先在手机开发者选项/连接设置里开启「USB网络共享」,再在电脑端操作:
方法3:修改手机Hosts(需Root权限)
- 拉取手机Hosts文件到本地:
adb pull /system/etc/hosts ./local_hosts - 编辑
local_hosts,添加一行:你的电脑IP 你的API域名(如果用域名访问API) - 推送修改后的Hosts回手机并设置权限:
adb push ./local_hosts /system/etc/hosts adb shell chmod 644 /system/etc/hosts - 配合电脑网络共享,即可同时实现联网和本地API访问。
内容的提问来源于stack exchange,提问作者baretd
相关产品推荐
相关产品推荐

