如何在手机上运行通过.NET API连接SQL Server的Android应用?
问题解决与通用方案
一、先解决设备连通性问题(ping不通的核心)
- 确认手机和笔记本连同一Wi-Fi网段:如果笔记本用有线,要确保手机连的是同一局域网的Wi-Fi,别跨不同网络(比如笔记本连公司有线,手机连公共Wi-Fi)
- 检查笔记本防火墙:
- 打开Windows Defender防火墙,添加允许规则:让.NET API使用的端口(比如5000、7000或你自定义的端口)通过私有网络
- 可以先临时关闭防火墙测试,能ping通的话再针对性配置规则
- 查看笔记本局域网IP:
- 打开cmd输入
ipconfig,找到无线/有线网卡的IPv4地址(比如192.168.3.105) - 用手机终端(比如Termux)ping这个IP,若还是不通,去路由器后台关闭AP隔离(部分路由器默认开启,会阻止局域网设备互访)
- 打开cmd输入
二、调整API与APP的连接配置
- 修改.NET API启动设置:
- 在Visual Studio打开
launchSettings.json,把applicationUrl改成局域网IP+端口,例如"applicationUrl": "http://192.168.3.105:5000;https://192.168.3.105:5001",别用默认的localhost - 启动API后,用手机浏览器访问这个地址(比如
http://192.168.3.105:5000/api/your-endpoint),能返回数据就说明API配置没问题
- 在Visual Studio打开
- 修改Android APP接口地址:
- 把APP里的
http://localhost:5000替换成上面的局域网IP地址 - Android 9+默认禁止明文HTTP,要么给API配HTTPS,要么在
AndroidManifest.xml里加android:usesCleartextTraffic="true"(仅测试用,正式环境必须HTTPS)
- 把APP里的
三、手机运行此类应用的通用方案
1. 同一局域网调试(开发阶段首选)
- 按上面的步骤搞定连通性和配置,直接在手机上调试
- 优势:实时同步API修改,不用额外部署
- 局限:必须在同一网络下操作
2. 部署API到云服务器(测试/正式环境)
- 把.NET API发布到云服务器(ECS之类),配置公网IP和开放端口
- SQL Server要么迁到云数据库,要么配置本地SQL Server允许远程连接(注意限制访问IP,保障安全)
- APP直接对接云服务器的API地址,手机有网就能用
3. 内网穿透工具(无公网IP的临时测试)
- 用Ngrok、花生壳这类工具把本地API端口映射到公网地址
- 生成公网域名后,APP替换成这个域名,不用和笔记本在同一网络
- 注意:免费版通常有流量限制,地址也不固定,适合临时测试
内容的提问来源于stack exchange,提问作者FatEbra
相关产品推荐
相关产品推荐

