求助:VS Code中Flutter项目因重复类无处理策略导致构建失败
求助:VS Code中Flutter项目因重复类无处理策略导致构建失败
嗨,我之前也踩过这个一模一样的坑!当时看到这个报错整个人都懵了——明明代码没改啥,怎么突然就因为重复类构建失败了😅
先给你理清楚问题:这个错误是说打包Jar包的时候,Gradle发现了重复的FlutterPlugin.class文件,但你没告诉它遇到重复文件该怎么处理,所以它直接抛出了这个异常。
你说找不到要修改的build.gradle文件,其实Flutter项目里的Gradle配置都集中在android文件夹里,我给你一步步指位置:
- 先在VS Code的左侧资源管理器里,找到你的Flutter项目根目录下的android文件夹,点击展开它
- 进入app子文件夹,这里面的
build.gradle就是我们要修改的模块级配置文件(别找错根目录下那个顶级的build.gradle啦) - 打开这个文件后,找到里面的
android { ... }代码块(里面应该有compileSdkVersion、defaultConfig这些配置项) - 在这个
android块里,添加一段packagingOptions配置,告诉Gradle遇到重复文件直接排除掉:
android { compileSdkVersion 33 // 你的版本可能不一样,不用改这个 defaultConfig { // 你的项目默认配置 } // 就是下面这段!加进来 packagingOptions { duplicatesStrategy = DuplicatesStrategy.EXCLUDE } }
如果加完这个还是不行,那可以试试在项目根目录的顶级build.gradle里,给所有Jar任务统一配置重复处理策略:
tasks.withType(Jar) { duplicatesStrategy = DuplicatesStrategy.EXCLUDE }
另外,要是你还是找不到对应的build.gradle,直接用VS Code的搜索功能(按Ctrl+P,输入build.gradle),就能列出项目里所有的Gradle配置文件,一个个点进去看就行。
改完之后,记得重启一下VS Code的Flutter服务,或者直接在终端跑flutter clean && flutter run,应该就能搞定这个报错了!
内容来源于stack exchange
相关产品推荐
相关产品推荐

