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

Flutter Release APK无法发起API请求,Debug版本正常求助

Flutter Release APK无法执行API调用的排查与解决

以下是针对该问题的常见排查方向和解决方案:

  • 检查网络安全配置(Android 9+默认限制明文HTTP)
    Android 9及以上版本默认禁止应用使用明文HTTP流量,如果你的API接口是HTTP协议而非HTTPS,Release包会直接拦截请求。解决方法如下:

    1. 在android/app/src/main/res/xml目录下创建network_security_config.xml文件,内容如下:
      <?xml version="1.0" encoding="utf-8"?>
      <network-security-config>
          <base-config cleartextTrafficPermitted="true" />
      </network-security-config>
      
    2. 在AndroidManifest.xml的application标签中添加配置引用:
      android:networkSecurityConfig="@xml/network_security_config"
      
  • 排查混淆规则对API相关代码的影响
    Flutter Release构建默认开启代码混淆,如果你的API请求依赖第三方库(如dio、http)或自定义数据模型类,混淆可能会破坏类结构导致请求失败。需要在android/app/proguard-rules.pro中添加对应规则:

    • 以dio为例,添加:
      -keep class com.dio.** { *; }
      -keepattributes Signature
      -keepattributes *Annotation*
      
    • 自定义模型类保留规则:
      -keep class com.your_app_package.models.** { *; }
      
      替换com.your_app_package为你实际的包路径。
  • 确认Release环境的API地址配置正确
    检查代码中是否根据构建模式区分了API环境,比如:

    import 'package:flutter/foundation.dart';
    
    final String baseApiUrl = kReleaseMode 
        ? "https://your-production-api.com" 
        : "https://your-debug-api.com";
    

    确保Release模式下的地址是可正常访问的,没有拼写错误或权限限制。

  • 排查证书校验问题
    如果你的API使用自签名SSL证书,Release模式下系统会严格校验证书有效性,导致请求失败。测试阶段可临时跳过证书校验(生产环境不建议):
    以http包为例:

    import 'dart:io';
    import 'package:http/http.dart' as http;
    
    // 创建自定义HttpClient
    HttpClient customHttpClient = HttpClient()
      ..badCertificateCallback = ((X509Certificate cert, String host, int port) => true);
    http.Client client = http.IOClient(customHttpClient);
    
    // 使用client发起请求
    final response = await client.get(Uri.parse(baseApiUrl));
    
  • 通过日志定位具体错误
    用adb命令抓取Release包的运行日志,过滤Flutter相关输出,获取API请求的具体错误信息:

    adb logcat -s Flutter
    

    日志会显示连接超时、证书错误、HTTP状态码(如403、404)等关键信息,帮助精准定位问题。

内容的提问来源于stack exchange,提问作者Bharath Kandula

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 06:35:18