You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native Android使用Charles SSL代理时无法连接Metro bundler怎么办?

解决Charles与React Native Metro Bundler的兼容问题

核心问题原因

手动设置全局代理后,Android设备会将所有请求(包括本地Metro的请求)转发至Charles,但Charles默认不会处理本地局域网的请求,导致设备无法连接到电脑上的Metro服务。

具体修复步骤

1. 在Charles中添加忽略代理规则

打开Charles的 Proxy > Proxy Settings,切换到Exceptions标签页,添加你的电脑局域网IP(如192.168.x.x)、localhost、127.0.0.1,让Charles跳过这些地址的代理,允许设备直接访问Metro。

2. 配置Metro绑定局域网IP

修改项目根目录的metro.config.js,添加server配置,让Metro监听电脑的所有网络接口:

module.exports = {
  server: {
    port: 8083,
    host: '0.0.0.0'
  },
  // 保留原有其他配置
};

3. 调整Android代理排除列表

在Android设备的代理设置中,找到不使用代理的地址选项,添加电脑局域网IP、localhost、127.0.0.1,确保设备访问Metro时不走Charles代理。

4. 验证网络连通性

在Android浏览器中访问http://[你的电脑IP]:8083,若能看到Metro的欢迎页面,说明网络正常;若无法访问,检查电脑防火墙是否开放8083端口的入站请求。

5. 重启相关服务

  • 关闭并重新启动Charles
  • 执行npx react-native start --reset-cache重启Metro Bundler
  • 重新运行Android应用:npx react-native run-android

额外排查点

  • 确认Charles的SSL证书已正确安装到Android设备(用于HTTPS请求调试)
  • 确保电脑与Android设备处于同一WiFi局域网
  • Android 10+设备需授予应用“安装未知应用”权限以完成Charles证书安装

内容的提问来源于stack exchange,提问作者Mr. Robot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 06:15:29