执行expo build:android时遭遇connect ETIMEDOUT 34.132.55.135:443错误的技术求助
解决 Expo Build:Android 连接超时 (connect ETIMEDOUT) 问题
我之前也碰到过类似的Expo构建连接超时问题,结合你提供的错误信息和app.json配置,给你几个可行的解决方向:
1. 先排查网络层面的问题
这个connect ETIMEDOUT错误本质是你的机器无法和Expo的构建服务器(IP 34.132.55.135,属于Google Cloud基础设施)建立稳定连接,先从网络入手:
- 确认你的网络可以正常访问海外服务,必要时切换稳定的VPN节点或者调整代理配置,确保Expo CLI能顺利穿透防火墙
- 暂时关闭本地的杀毒软件、防火墙,避免它们拦截Expo的网络请求
- 尝试在命令行ping这个IP,看看是否能连通,判断是网络通路问题还是特定端口(443)的限制
2. 修正app.json的配置错误
看你提供的app.json,有两个关键配置问题可能导致构建通信异常:
- 配置层级错误:
updates和assetBundlePatterns应该嵌套在expo对象内部,但你现在把它们放在了外面,这会导致Expo CLI解析配置时出错 - Android包名格式错误:
android.package应该遵循反向域名规范(比如com.company.appName),你当前的appName.company.com不符合Android的包名要求
修正后的正确app.json应该是这样:
{ "expo": { "name": "appName", "slug": "appName", "version": "1.0.0", "orientation": "portrait", "updates": { "fallbackToCacheTimeout": 0 }, "assetBundlePatterns": [ "**/*" ], "ios": { "supportsTablet": true, "bundleIdentifier": "com.company.appName", "buildNumber": "1.0.0" }, "android": { "versionCode": 1, "adaptiveIcon": { "foregroundImage": "./assets/icon.png", "backgroundColor": "#FFFFFF" }, "package": "com.company.appName" } } }
3. 重置Expo缓存与认证会话
有时候缓存过期或者认证会话异常也会引发连接问题:
- 运行
expo r -c清除项目的本地缓存 - 执行
expo logout退出当前账号,再用expo login重新登录,重置认证会话
4. 尝试本地构建或指定构建区域
如果网络问题始终无法解决,可以换一种构建方式:
- 使用本地构建命令:
expo build:android --local,这种方式不需要依赖Expo的远程服务器,直接在本地完成构建 - 或者指定离你地理位置更近的构建区域,比如欧洲区:
expo build:android --region eu,美国区:expo build:android --region us,降低网络延迟
5. 更新Expo CLI到最新版本
旧版本的Expo CLI可能存在已知的网络连接bug,建议更新到最新版:
npm install -g expo-cli # 或者如果你用yarn yarn global add expo-cli
先从修正app.json配置和网络排查入手,这两个是最常见的诱因,应该能解决你的问题。
内容的提问来源于stack exchange,提问作者Micah Haile
相关产品推荐
相关产品推荐

