如何解决.NET MAUI安卓物理设备无法连接本地WebAPI的问题?
物理安卓设备连接本地WebAPI的解决方案
1. 端口转发+局域网IP访问
- 确保安卓设备和Windows机器处于同一WiFi网络
- 在Visual Studio中打开
Tools > Android > Android Device Manager,选中你的物理设备,右键选择Port Forwarding - 添加转发规则:本地端口填WebAPI运行的端口(如
5000),远程端口设为相同值,点击确认 - 将MAUI应用中的API请求地址从
localhost/127.0.0.1替换为Windows机器的局域网IP(比如http://192.168.3.15:5000/api/xxx)
2. 使用Visual Studio内置隧道工具
- 打开WebAPI项目的
Properties > Debug选项卡 - 若未开启SSL,勾选
Enable SSL,复制生成的HTTPS地址(如https://localhost:7000) - 在Debug工具栏的启动配置下拉框中,选择
WebAPI (Tunnel)(无此配置则点击Manage Profiles添加隧道类型配置) - 启动WebAPI后,会生成一个公网隧道地址(如
https://xxxx-xxxx-xxxx-xxxx.tunnel.ms) - 把MAUI应用的API地址替换为该隧道地址,物理设备无需同WiFi即可连接
3. 防火墙端口放行
- 打开Windows Defender防火墙的
高级设置,选择入站规则,右键新建规则 - 规则类型选
端口,输入WebAPI的端口号(如5000),协议选TCP - 选择
允许连接,勾选所有网络类型,命名规则后完成配置 - 配置完成后,同一局域网内的安卓设备可直接通过Windows局域网IP访问WebAPI
额外注意
- 先验证Windows局域网IP能访问WebAPI:在浏览器输入
http://[你的局域网IP]:[端口]/api/xxx,确认返回正常 - 若使用HTTPS,需在安卓设备上安装本地开发证书:复制
C:\Program Files\dotnet\packs\Microsoft.AspNetCore.App.Ref\[你的.NET版本]\ref\net[版本]\aspnetcore-root-cert.pfx到设备,在系统设置中完成证书安装
内容的提问来源于stack exchange,提问作者Roelof van Leeuwen
相关产品推荐
相关产品推荐

