参数类型“PointerEvent”无法分配给参数类型“PointerDownEvent”

Tha*_*nos 15 gradle dart flutter flutter-plugin

最近我更新到了 flutter 2.5 和最新的 androids studio,并尝试将我的 flutter 项目编译到 android 设备。Android studio 向我抛出以下错误。如果我flutter run在终端中写入,则编译到 Android 设备没有问题。

猜测这肯定和android studio有关。我尝试降级到较早的 android studio 版本,但问题仍然存在。

我不确定这是什么插件,它看起来不像我在项目中使用的任何插件。

编辑:如果我将 flutter 从 2.5 降级到 2.0,我的项目将再次编译。所以问题出在flutter 2.5之内

Launching lib/main.dart on Android SDK built for x86 in debug mode...
Running Gradle task 'assembleDebug'...
../plugins/flutter/.pub-cache/hosted/pub.dartlang.org/photo_view-0.11.1/lib/src/core/photo_view_gesture_detector.dart:106:29: Error: The argument type 'PointerEvent' can't be assigned to the parameter type 'PointerDownEvent'.
 - 'PointerEvent' is from 'package:flutter/src/gestures/events.dart' ('../plugins/flutter/packages/flutter/lib/src/gestures/events.dart').
 - 'PointerDownEvent' is from 'package:flutter/src/gestures/events.dart' ('../plugins/flutter/packages/flutter/lib/src/gestures/events.dart').
    super.addAllowedPointer(event);
Run Code Online (Sandbox Code Playgroud)

cro*_*x5f 32

flutter 2.5 版本中的 API 发生了变化,多个软件包必须相应更新。您的日志显示包含错误的确切包是photo_view

幸运的是,该软件包刚刚更新以解决此问题,因此只需更新您的版本pubspec.yaml

photo_view: ^0.12.0
Run Code Online (Sandbox Code Playgroud)

更新

如果您的 pubspec 中没有直接包含该软件包

你有两个选择

1 这可能是一种暂时的依赖关系,您可以运行flutter pub deps 以列出已安装的软件包及其依赖关系,并尝试更新使用的软件包photo_view(如果确实有更新)

2 将依赖项覆盖添加到您的pubspec.yaml,这将有效地覆盖正在使用的包的版本

dependency_overrides:
  photo_view: ^0.12.0
Run Code Online (Sandbox Code Playgroud)

在你的之前添加这个dev_dependencies