如何解决 Flutter 的重复类问题?
Posted
技术标签:
【中文标题】如何解决 Flutter 的重复类问题?【英文标题】:How to solve duplicate classes issue for Flutter? 【发布时间】:2019-06-07 04:16:34 【问题描述】:添加后
位置:^1.4.1
到我在 pubspec.yaml 中的依赖项:
dependencies:
flutter:
sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for ios style icons.
cupertino_icons: ^0.1.2
rxdart: ^0.20.0
http: ^0.12.0
date_format: ^1.0.5
intl: ^0.15.7
fluttertoast: ^2.2.3
location: ^1.4.1
我得到了包,一切都很好,但是当我尝试构建它时,应用程序崩溃并显示一条消息:
正在调试模式下在 Lenovo K33a48 上启动 lib\main.dart... 正在初始化梯度... 解决依赖关系... 摇篮任务'assembleDebug'... D8:程序类型已经存在:android.support.v4.app.INotificationSideChannel
FAILURE:构建失败并出现异常。
出了什么问题: 任务 ':app:transformDexArchiveWithExternalLibsDexMergerForDebug' 执行失败。
com.android.builder.dexing.DexArchiveMergerException: 合并 dex 档案时出错: “这里是所有 jar 档案的列表” 在https://developer.android.com/studio/build/dependencies#duplicate_classes 了解如何解决问题。 程序类型已存在:android.support.v4.app.INotificationSideChannel
尝试: 使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。
通过https://help.gradle.org获得更多帮助
在 18 秒内构建失败 完成错误:Gradle 任务 assembleDebug 失败,退出代码为 1
我的 targetSdk 是 28。我使用的是 Android Studio 3.2.1 非常感谢您的帮助!
【问题讨论】:
***.com/questions/49886597/… ***.com/questions/50524672/… 谢谢@GünterZöchbauer,我已经学会了如何根据第一个链接访问android依赖树,但是编译器强制执行所有建议的解析策略并不足以解决问题。最后我得到了奇怪的错误。我注意到 Lyokone 的位置插件 1.4.1 与 fluttertoast 插件 2.2.3 一起使用导致了这个问题。只有将fluttertoast更新到最新版本2.2.6(该版本昨天发布)后,问题才得到解决。奇怪的是,这个问题只出现在个人电脑上,而不是 macbook 专业人士。 @miloss 你解决了这个问题吗?我看到了同样的问题。 不 @RideSun ,我无法以这种方式解决它。插件更新解决了这个问题。 【参考方案1】:发生这种情况是因为您使用的库使用了相同的依赖项。
解决方案 1
-
在 VSCode 中搜索
(Ctrl+Shift + P)
在您的错误 android.support.v4.app.INotificationSideChannel.
中搜索关键字Notification/Side/Channel。选择一个。
如果有相同的依赖,说明有重复的库。
解决方案:删除您正在使用的库之一
解决方案 2(推荐)
-
在 VSCode 中搜索
(Ctrl+Shift + P)
在您的错误 android.support.v4.app.INotificationSideChannel.
中搜索关键字Notification/Side/Channel。选择一个。
找到一个使用相同依赖的库,然后更新到latest package version
。
此解决方案将保留您正在使用的库而不删除它
【讨论】:
【参考方案2】:我无法复制您报告的行为。正如您在 cmets 中提到的,该问题似乎已通过插件更新解决。运行flutter clean
应该可以解决依赖缓存中引起的大部分冲突。
【讨论】:
以上是关于如何解决 Flutter 的重复类问题?的主要内容,如果未能解决你的问题,请参考以下文章
我如何将 Flutter 中的所有设计元素隔离到一个 ThemeData 类...有任何策略 os 解决方案吗?
Flutter 中未定义的类名“MaterialApp”。如何解决这个问题?