Flutter真机出现failed host lookup错误,模拟器正常求排查
真机出现'failed host lookup'错误的原因及排查方向
网络权限缺失:Android真机默认不会自动授予网络权限,而模拟器通常已默认配置。检查项目的
AndroidManifest.xml文件,确认是否添加了必要的网络权限:<uses-permission android:name="android.permission.INTERNET"/>注:Android 10及以上版本无需额外添加
ACCESS_NETWORK_STATE权限,但INTERNET权限是发起网络请求的必备项。真机网络环境异常:
- 真机连接的Wi-Fi/移动数据可能无法访问目标域名
simple.com,可直接在真机浏览器中打开https://simple.com/Login验证是否能正常访问。 - 检查真机是否开启了代理,错误的代理配置会导致域名解析失败。
- 真机连接的Wi-Fi/移动数据可能无法访问目标域名
域名解析失败:
- 目标域名在真机所在网络环境下无法正常解析,可通过终端类APP执行
ping simple.com测试解析结果,若无法解析则需更换DNS服务器。 - 确认代码中
endPoint的拼写是否正确,避免存在多余空格或字符。
- 目标域名在真机所在网络环境下无法正常解析,可通过终端类APP执行
Flutter项目缓存或依赖问题:
- 执行
flutter clean清除项目缓存后重新构建。 - 检查
http库版本是否与当前Flutter版本兼容,尝试更新至最新稳定版。
- 执行
Android 10+网络安全配置限制:
- 若目标域名使用自签名证书(即使是HTTPS协议),Android 10及以上默认限制此类网络访问。需在
android/app/src/main/res/xml/network_security_config.xml中添加配置:
并在<?xml version="1.0" encoding="utf-8"?> <network-security-config> <domain-config cleartextTrafficPermitted="true"> <domain includeSubdomains="true">simple.com</domain> </domain-config> </network-security-config>AndroidManifest.xml的<application>标签中关联该配置:android:networkSecurityConfig="@xml/network_security_config"
- 若目标域名使用自签名证书(即使是HTTPS协议),Android 10及以上默认限制此类网络访问。需在
内容的提问来源于stack exchange,提问作者hossein darvishi
相关产品推荐
相关产品推荐

