React Native 0.70.1安卓真机(未发布APK)无法联网求助
React Native 0.70.1 真机网络连接问题排查方案
网络权限配置缺失
安卓真机必须在AndroidManifest.xml中声明网络权限,检查是否添加以下代码:<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />即使是HTTPS请求,也必须声明
INTERNET权限,否则真机无法发起任何网络请求。Android 9+ 网络安全限制
若目标域名使用自签名证书,或application标签的网络配置错误,会导致请求被拦截:- 检查
AndroidManifest.xml的application节点,确保usesCleartextTraffic配置正确(HTTPS场景理论可设为false,但证书异常时可临时设为true排查):<application ... android:usesCleartextTraffic="true"> - 若使用自签名证书,需在
res/xml/network_security_config.xml中配置信任规则:
并在<?xml version="1.0" encoding="utf-8"?> <network-security-config> <domain-config cleartextTrafficPermitted="true"> <domain includeSubdomains="true">你的目标域名</domain> </domain-config> </network-security-config>AndroidManifest.xml的application标签中引用该配置:android:networkSecurityConfig="@xml/network_security_config"
- 检查
APK签名与调试限制
非正式的debug签名APK,部分设备可能有网络请求限制。可尝试生成release包测试,或检查设备是否对debug应用有额外权限限制。真机网络环境问题
确认真机网络正常,用浏览器打开目标URL测试是否能访问。部分内网、公共WiFi可能通过防火墙或代理拦截HTTPS请求,切换手机流量重试。添加错误捕获排查具体问题
原代码未做错误处理,建议添加try/catch获取具体错误信息:try { let res = await fetch(url, { method: "POST", headers: { 'Accept': 'application/json, text/plain, */*', 'Content-Type': 'application/json', }, body: obj, }); // 处理响应逻辑 } catch (error) { console.error('网络请求错误详情:', error); // 可通过真机日志工具查看具体报错 }
内容的提问来源于stack exchange,提问作者user938363
相关产品推荐
相关产品推荐

