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

Flutter开发Android/iOS应用,能否移除未使用平台的依赖?

解决Flutter Android/iOS应用的Win32依赖冲突问题

你的问题源于package_info_plus: ^4.1.0和wakelock: ^0.6.2依赖不同版本的win32库——即便你不开发Windows平台,Flutter的依赖解析器仍会处理全平台依赖,进而引发冲突。以下是两种可行的解决办法:

方法1:强制统一win32版本(最简单直接)

先确认两个包兼容的win32版本范围(比如package_info_plus 4.1.0支持win32 >=2.1.0 <6.0.0,wakelock 0.6.2支持win32 >=2.0.0 <4.0.0,选3.x版本即可),然后在pubspec.yaml末尾添加依赖覆盖:

dependency_overrides:
  win32: ^3.1.0 # 可根据实际兼容范围调整版本号

执行flutter pub get后,依赖解析器会强制使用指定的win32版本,彻底解决冲突,且不会影响Android/iOS的构建流程。

方法2:限定依赖仅针对目标平台(更严谨)

修改pubspec.yaml的依赖块,将两个包限定为仅在Android和iOS平台生效:

dependencies:
  # 保留你的其他全局依赖
  package_info_plus:
    version: ^4.1.0
    platforms:
      android:
      ios:
  wakelock:
    version: ^0.6.2
    platforms:
      android:
      ios:

这样pub只会为Android和iOS下载对应的包及其依赖,完全跳过Windows相关的依赖处理,从根源避免冲突。

注意:如果使用这种方式,确保代码中没有调用这两个包的Windows平台专属API(你本来就不开发Windows,所以无需担心)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 15:47:05