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

Flutter项目调用API时模拟器暂停,需点击继续才出结果,浏览器无此问题

Flutter模拟器调用API后自动暂停的解决办法

下面是针对这个问题的几种常见排查和解决思路:

  • 调试器异常拦截设置问题
    模拟器的调试器默认会拦截所有异常(包括已捕获的),而浏览器调试环境可能默认只关注未捕获异常。可以调整调试器的断点规则:

    • Android Studio:打开「Run > View Breakpoints」,取消勾选「All Exceptions」,只保留「Uncaught Exceptions」。
    • VS Code:在项目的.vscode/launch.json中,修改exceptionBreakpoints配置为["uncaught"],避免调试器因捕获到已处理的API异常而暂停。
  • HTTPS证书校验触发暂停
    模拟器对HTTPS证书的校验比浏览器严格,若API使用自签名证书或无效证书,会触发调试器暂停。可以临时关闭证书校验(仅用于测试环境,上线务必恢复):

    • Android端:在android/app/src/main/AndroidManifest.xml的<application>标签内添加android:usesCleartextTraffic="true"。
    • 全局忽略证书:通过HttpOverrides重写证书校验逻辑,代码示例:
      class MyHttpOverrides extends HttpOverrides {
        @override
        HttpClient createHttpClient(SecurityContext? context) {
          return super.createHttpClient(context)
            ..badCertificateCallback = (X509Certificate cert, String host, int port) => true;
        }
      }
      
      void main() {
        HttpOverrides.global = MyHttpOverrides();
        runApp(const MyApp());
      }
      
  • 残留断点干扰
    检查代码中是否存在未移除的断点,尤其是API请求的回调、catch块或网络请求工具类里的断点。直接清空所有无关断点后重新运行即可。

  • 模拟器与调试器连接不稳定
    尝试重启模拟器和IDE,或者执行flutter clean后重新构建项目,解决可能的进程冲突或连接异常问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 05:10:01