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

React Native安卓真机访问Spring REST API遇Axios网络错误求助

React Native安卓真机访问Spring REST API网络错误排查方案

现状说明

  • 安卓模拟器通过10.0.2.2能正常访问Spring API,但真机替换为服务器局域网IP后仍报错「AxiosError: Network Error」
  • 已完成配置:
    • AndroidManifest.xml的application标签添加了android:usesCleartextTraffic="true"
    • 声明了<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />权限
    • 手机与服务器处于同一局域网

排查与解决步骤

  1. 修正API请求地址
    你的代码中仍使用模拟器专属地址https://10.0.2.2:8080/...,真机必须替换为服务器所在设备的局域网IP。同时注意:

    • 若Spring服务器未配置HTTPS证书,必须将https改为http(无证书的HTTPS请求会被安卓真机拦截)
    • 示例修正后地址:http://192.168.1.105:8080/api/authentication/login(替换为你的实际服务器IP)
  2. 验证服务器网络连通性

    • 在安卓真机的浏览器中直接访问http://服务器IP:8080,确认能正常打开Spring Boot默认页面或API接口,排除网络链路问题
    • 关闭服务器设备的防火墙,或在防火墙规则中放行8080端口
  3. 补充必要的安卓权限
    除现有权限外,必须添加互联网访问权限,否则真机无法发起网络请求:

    <uses-permission android:name="android.permission.INTERNET" />
    
  4. 排查HTTPS证书问题
    若坚持使用HTTPS:

    • 确保Spring服务器配置了有效的SSL证书
    • 若使用自签名证书,需将证书安装到安卓真机的系统信任区
  5. 打印详细错误信息定位问题
    修改catch代码,输出更具体的错误细节,便于精准定位:

    catch (error) {
      console.error('Error code:', error.code);
      console.error('Error message:', error.message);
      console.error('Response data:', error.response?.data);
      console.error('Request details:', error.request);
    }
    
  6. 确认手机网络环境
    检查手机是否连接到与服务器相同的WiFi网络,避免使用移动数据或其他局域网

内容的提问来源于stack exchange,提问作者Nikolina Stojčić

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 06:25:03