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

使用--include-package构建Flet APK失败的依赖兼容问题

解决Flet 0.25.2构建APK时requests包的依赖冲突问题

问题描述

执行命令flet build apk --include-package requests构建APK时,Flutter编译器抛出依赖冲突错误:

Flet 0.25.2依赖http ^1.2.2,而requests >=4.1.0依赖http ^0.13.4,二者版本冲突;同时requests <4.1.0不支持null安全,与要求SDK下限≥2.12.0的Flet 0.25.2完全不兼容,导致版本解析失败。

环境信息

  • Flet版本:0.25.2
  • Flutter版本:3.24.5
  • Dart版本:3.5.4

已尝试操作

  • 降级Flutter和Dart版本
  • 降级Flet版本
  • 升级Flutter依赖包

可行解决方案

1. 替换为Dart原生HTTP库

Flet基于Flutter开发,优先使用Dart生态的http包替代Python的requests,从根源避免跨语言依赖冲突:

  • 在项目代码中导入Dart http库:
    import 'package:http/http.dart' as http;
    
  • 示例HTTP请求代码:
    final response = await http.get(Uri.parse('https://your-api-url.com'));
    if (response.statusCode == 200) {
      // 处理响应内容
      print(response.body);
    }
    

2. 强制统一依赖版本(风险操作)

若必须使用Python的requests,可通过dependency_overrides强制对齐http版本,但需承担潜在兼容性风险:

  • 打开Flutter项目的pubspec.yaml,添加以下配置:
    dependency_overrides:
      http: ^1.2.2
    
  • 执行flutter pub get更新依赖,再重新执行构建命令:
    flet build apk --include-package requests
    

注意:此操作可能导致requests包出现运行时异常,需完成充分测试后再发布。

3. 升级Flet至最新稳定版

检查Flet后续版本是否已修复该依赖冲突问题,升级到最新版尝试:

  • 执行命令升级Flet:
    pip install flet --upgrade
    
  • 重新运行构建命令验证是否解决问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 18:13:10