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

Expo EAS Build打包的APK无法连接后端问题咨询

排查EAS Build生成的Android APK无法连接后端的问题
  • 检查后端API地址配置

    • 确认preview环境下的API地址是否正确:Expo Go调试时可能用的是本地局域网IP(如192.168.x.x),但APK安装到设备后,若设备和后端不在同一局域网,本地IP会无法访问,需替换为公网域名或设备可访问的局域网IP。
    • 核对app.config.js或app.json中preview profile对应的环境变量,比如API_URL,EAS Build会根据指定profile加载对应配置。
  • 验证网络权限

    • 检查项目配置中是否添加了INTERNET权限,Expo项目默认包含,但手动修改配置后可能丢失。配置示例:
      "android": {
        "permissions": ["INTERNET"]
      }
      
  • 排查HTTPS证书问题

    • 若后端使用自签名HTTPS证书,APK版本应用会严格验证证书(Expo Go调试模式会放宽限制),导致连接失败。需更换为受信任的SSL证书,或在preview构建中临时配置允许调试证书(仅用于排查,不建议生产环境)。
  • 检查后端CORS策略

    • 后端需允许APK的包名发起请求:Expo Go的包名是host.exp.exponent,而EAS Build生成的APK包名是app.json中android.package配置的内容,需确保后端CORS规则包含该包名。
  • 调试网络请求细节

    • 用Android Studio的Logcat过滤应用包名,查看登录请求的具体错误日志(如连接超时、证书验证失败、HTTP状态码异常等)。
    • 在登录请求代码中添加错误捕获,打印详细错误信息:
      try {
        const response = await fetch(`${apiUrl}/login`, {
          method: 'POST',
          headers: { 'Content-Type': 'application/json' },
          body: JSON.stringify({ email, password })
        });
        if (!response.ok) {
          console.error('登录请求失败:', response.status, await response.text());
        }
      } catch (error) {
        console.error('网络请求错误:', error.message);
      }
      

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 11:43:16