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

升级Flutter后出现ArgumentError无效网络地址jsonplaceholder报错如何解决

问题根因

该错误是Flutter版本升级(通常是3.10及以上版本配套的Dart 3.x)后,网络相关逻辑的严格校验、默认配置变更导致的域名解析失败,可按照以下步骤逐一排查解决:

排查&解决步骤

  • 检查Uri解析是否正常
    先打印解析后的Uri主机地址确认有效性:
    final uri = Uri.parse('https://jsonplaceholder.typicode.com/albums');
    print(uri.host); // 正常应该输出 jsonplaceholder.typicode.com
    
    如果输出异常,大概率是代码行存在复制粘贴带入的不可见零宽字符,手动重新编写该行Uri解析代码即可。
  • 确认平台网络权限配置
    升级Flutter后旧项目的原生配置可能未适配新版本要求:
    • 安卓端:检查android/app/src/main/AndroidManifest.xml是否已配置网络权限
      <uses-permission android:name="android.permission.INTERNET" />
      
    • iOS端:检查ios/Runner/Info.plist是否已配置网络访问权限,可临时添加全局允许配置验证:
      <key>NSAppTransportSecurity</key>
      <dict>
          <key>NSAllowsArbitraryLoads</key>
          <true/>
      </dict>
      
  • 升级网络依赖包版本
    旧版本http/dio等网络请求包和新Flutter版本不兼容也会触发该问题,执行命令升级对应依赖到最新稳定版:
    flutter pub upgrade http
    
  • 验证网络环境可用性
    打开测试设备/模拟器的系统浏览器,直接访问https://jsonplaceholder.typicode.com/albums确认是否可以正常加载:
    1. 无法加载:说明是设备本身的网络问题,可尝试切换网络、修改DNS为公共DNS(如8.8.8.8)、或使用代理解决
    2. 可以加载:可尝试自定义DNS解析逻辑替换系统默认解析,避免系统DNS异常问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 11:21:02