You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何配置本地IP供Android设备访问C# API并调试接口方法

我之前做项目时刚好碰到过一模一样的需求,给你整理一套亲测有效的步骤,帮你搞定本地调试的问题:

1. 确保电脑和Android设备在同一局域网

首先得让你的开发电脑和Android设备连同一个WiFi(或有线局域网),这是基础。然后找到电脑的本地IP地址:

  • Windows系统:按Win+R输入cmd打开命令提示符,执行ipconfig,找到你当前WiFi/有线网卡的IPv4地址(比如192.168.1.105),记下来后面要用。
2. 配置C# API允许外部设备访问

不管你是ASP.NET Core还是老的ASP.NET项目,核心是让API监听所有网络接口,而不是只监听localhost:

如果你用的是ASP.NET Core

方法1:修改launchSettings.json

找到项目根目录下的Properties/launchSettings.json,把applicationUrl改成包含0.0.0.0的地址,比如:

"applicationUrl": "http://0.0.0.0:5000;https://0.0.0.0:5001"

0.0.0.0表示监听所有可用的网络接口,这样同一局域网内的设备就能访问了。

方法2:在Program.cs中配置

如果不想改launchSettings,也可以在Program.cs里直接指定监听地址:

var builder = WebApplication.CreateBuilder(args);
// 其他配置...
builder.WebHost.UseUrls("http://0.0.0.0:5000", "https://0.0.0.0:5001");

var app = builder.Build();
// 中间件配置...
app.Run();

关键:开放防火墙端口

Windows防火墙会默认阻止外部设备访问本地端口,所以需要手动允许你的API端口(比如5000、5001):

  • 打开「Windows Defender防火墙」→「高级设置」→「入站规则」→「新建规则」
  • 选择「端口」→ 输入你API用的端口号(比如5000)→ 允许连接→ 勾选「域」「专用」「公网」(测试时全选没问题)→ 给规则起个名字(比如Allow API Debug Port)
3. 配置Android应用的API地址

把Android代码里原来的http://localhost:5000/api/xxx改成你刚才记下的电脑IP地址,比如:

// 示例:Java代码里的API地址
String BASE_URL = "http://192.168.1.105:5000/api/";

或者如果你用Kotlin:

// Kotlin示例
const val BASE_URL = "http://192.168.1.105:5000/api/"

解决Android 9+的明文HTTP限制

如果你的API用的是HTTP(本地调试大多是HTTP),Android 9及以上默认会阻止明文HTTP请求,需要在AndroidManifest.xml<application>标签里添加:

android:usesCleartextTraffic="true"

这样应用就能正常访问HTTP接口了。

4. 开始调试
  • 打开Visual Studio,启动C# API的调试模式(F5),确保API正常运行。
  • 在Android设备上打开你的应用,触发调用API的操作,此时Visual Studio就能捕获到请求,自动进入你设置的断点,开始调试C#代码啦!

额外小提示

  • 如果你经常调试,可以给电脑设置一个静态IP,避免每次重启WiFi都要改地址。
  • 要是用Android模拟器的话,localhost对应的是10.0.2.2,但你是真实设备的话就不用管这个。

内容的提问来源于stack exchange,提问作者Utron Developer

火山引擎 最新活动