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

Flutter 3.3.0升级后Embedding异常,仅Debug构建报重复类错误

Flutter 3.3.0 Debug构建重复类错误解决方案(Flutter Embedding共享模块场景)

问题分析

升级Flutter到3.3.0后,Android Debug构建出现io.flutter.view.VsyncWaiter等类重复报错,核心原因是Debug构建变体同时引入了flutter_embedding_debug和flutter_embedding_release两个依赖,导致类冲突。Release构建正常是因为Release变体只会拉取Release版embedding依赖,而3.3.0版本的依赖处理逻辑中,Debug变体可能通过Flutter模块的间接依赖意外引入了Release版embedding。

解决方案

1. 强制排除Debug构建中的Release版embedding依赖

修改Android主项目的Gradle依赖配置,在debugImplementation中明确排除Release版的flutter_embedding:

debugImplementation('com.company.module:flutter_debug:+') {
    exclude group: 'io.flutter', module: 'flutter_embedding_release'
}
releaseImplementation 'com.company.module:flutter_release:+'

这样Debug构建时只会保留Debug版embedding依赖,避免类重复。

2. 检查Flutter模块的打包配置

进入共享的Flutter模块目录,确认其android/build.gradle中的变体依赖配置正确:

  • Debug变体仅依赖flutter_embedding_debug
  • Release变体仅依赖flutter_embedding_release
    确保没有在Debug配置中误引入Release相关依赖项。

3. 清理Gradle缓存

旧的依赖缓存可能残留冲突,执行以下命令彻底清理:

./gradlew cleanBuildCache
./gradlew clean

之后重新构建Debug版本。

4. 升级到Flutter 3.3.x后续补丁版本

Flutter 3.3.0可能存在embedding依赖处理的bug,官方后续发布的3.3.1及以上补丁版本大概率修复了该问题,尝试升级Flutter版本后验证:

flutter upgrade

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 09:40:37