在运行Flutter项目后,我得到了这个错误。我能做些什么来解决它?
Error: The method 'setMockMessageHandler' isn't defined for the class 'BasicMessageChannel<dynamic>'. FAILURE: Build failed with an exception.
8zzbczxx1#
我在Mac上的AndroidStudio中更新插件后遇到了同样的问题
flutter pub upgrade
对我没什么帮助但是
flutter clean flutter pub upgrade --major-versions
已经解决了这个问题
y0u0uwnf2#
1.通过按住ctrl并单击它转到指定的类'BasicMessageChannel'
7z5jn7bk3#
我今天也遇到了同样的问题。从我所能注意到的,这基本上是一个突破性的变化所造成的过渡平台通道测试接口到flutter_test包。在我的例子中,这个问题在一个全局终端会话上运行flutter pub upgrade就解决了。在referred release notes上查看有关上述转换的更多详细信息
imzjd6km4#
我也有同样的问题,我已经尝试了以上所有的方法,都没有帮助。flutter pub upgrade和flutter pub upgrade --major-versions输出如下:未更改依赖项。1包已停产。76个软件包的新版本与依赖约束不兼容。请尝试flutter pub outdated以获取更多信息。pubspec.yaml没有变化!插件advance_pdf_viewer, flutter_absolute_path, geocoder, google_api_headers, onesignal_flutter使用Android嵌入的弃用版本。为了避免意外的运行时失败或未来的构建失败,请尝试查看这些插件是否支持Android V2嵌入。否则,请考虑删除它们,因为Flutter的未来版本将删除这些已弃用的API。如果您是插件作者,请查看将插件迁移到V2嵌入的文档:https://flutter.dev/go/android-plugin-migration。
flutter pub upgrade --major-versions
flutter pub outdated
advance_pdf_viewer, flutter_absolute_path, geocoder, google_api_headers, onesignal_flutter
avwztpqn5#
升级到Flutter 2.5.3(从2.2.3)后遇到此问题。release notes中概述的更改破坏了数百个测试,因为大多数测试都在全局setUp()中设置了mock方法处理程序。如发行说明中所示,我替换了如下代码
setUp()
MethodChannel('channelName') .setMockMethodCallHandler((MethodCall methodCall) {});
下面的代码使用TestDefaultBinaryMessenger的默认示例:
TestDefaultBinaryMessenger
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger .setMockMethodCallHandler(MethodChannel('channelName'), (MethodCall methodCall) {});
这一变化使我能够保持所有测试不变。
72qzrwbm6#
11.:flutter pub升级1.: Flutter 清洁1.:flutter pub升级--major-versions1.:cd ios1.:Pod存储库更新1.:Pod更新1.:打开Runner.xcworkspace1.:make clean & make run
6条答案
按热度按时间8zzbczxx1#
我在Mac上的AndroidStudio中更新插件后遇到了同样的问题
对我没什么帮助但是
已经解决了这个问题
y0u0uwnf2#
1.通过按住ctrl并单击它转到指定的类'BasicMessageChannel'
但这只是一个简单的黑客这是不建议
7z5jn7bk3#
我今天也遇到了同样的问题。
从我所能注意到的,这基本上是一个突破性的变化所造成的过渡平台通道测试接口到flutter_test包。
在我的例子中,这个问题在一个全局终端会话上运行
flutter pub upgrade
就解决了。在referred release notes上查看有关上述转换的更多详细信息
imzjd6km4#
我也有同样的问题,我已经尝试了以上所有的方法,都没有帮助。
flutter pub upgrade
和flutter pub upgrade --major-versions
输出如下:未更改依赖项。
1包已停产。
76个软件包的新版本与依赖约束不兼容。
请尝试
flutter pub outdated
以获取更多信息。pubspec.yaml没有变化!插件
advance_pdf_viewer, flutter_absolute_path, geocoder, google_api_headers, onesignal_flutter
使用Android嵌入的弃用版本。为了避免意外的运行时失败或未来的构建失败,请尝试查看这些插件是否支持Android V2嵌入。否则,请考虑删除它们,因为Flutter的未来版本将删除这些已弃用的API。如果您是插件作者,请查看将插件迁移到V2嵌入的文档:https://flutter.dev/go/android-plugin-migration。avwztpqn5#
升级到Flutter 2.5.3(从2.2.3)后遇到此问题。release notes中概述的更改破坏了数百个测试,因为大多数测试都在全局
setUp()
中设置了mock方法处理程序。如发行说明中所示,我替换了如下代码
下面的代码使用
TestDefaultBinaryMessenger
的默认示例:这一变化使我能够保持所有测试不变。
72qzrwbm6#
1
1.:flutter pub升级
1.: Flutter 清洁
1.:flutter pub升级--major-versions
1.:cd ios
1.:Pod存储库更新
1.:Pod更新
1.:打开Runner.xcworkspace
1.:make clean & make run