当我尝试在终端中使用“flutter run”在 android 上运行应用程序时,出现以下错误...
/C:/Users/Acer/AppData/Roaming/Pub/Cache/hosted/pub.dartlang.org/provider-3.2.0/lib/src/delegate_widget.dart:194:18: Error: Superclass has no method named 'inheritFromElement'.
return super.inheritFromElement(ancestor, aspect: aspect);
^^^^^^^^^^^^^^^^^^
/C:/Users/Acer/AppData/Roaming/Pub/Cache/hosted/pub.dartlang.org/provider-3.2.0/lib/src/provider.dart:259:19: Error: The method 'inheritFromWidgetOfExactType' isn't defined for the class 'BuildContext'.
- 'BuildContext' is from 'package:flutter/src/widgets/framework.dart' ('/D:/Flutter/flutter/packages/flutter/lib/src/widgets/framework.dart').
Try correcting the name to the name of an existing method, or defining a method named 'inheritFromWidgetOfExactType'.
? context.inheritFromWidgetOfExactType(type) as InheritedProvider<T>
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/C:/Users/Acer/AppData/Roaming/Pub/Cache/hosted/pub.dartlang.org/provider-3.2.0/lib/src/provider.dart:260:19: Error: The method 'ancestorInheritedElementForWidgetOfExactType' isn't defined for the class 'BuildContext'.
- 'BuildContext' is from 'package:flutter/src/widgets/framework.dart' ('/D:/Flutter/flutter/packages/flutter/lib/src/widgets/framework.dart').
Try correcting the name to the name of an existing method, or defining a method named 'ancestorInheritedElementForWidgetOfExactType'.
: context.ancestorInheritedElementForWidgetOfExactType(type)?.widget
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/C:/Users/Acer/AppData/Roaming/Pub/Cache/hosted/pub.dartlang.org/flutter_svg-0.18.1/lib/src/picture_provider.dart:50:59: Error: No named parameter with
the name 'nullOk'.
context != null ? Localizations.localeOf(context, nullOk: true) : null,
^^^^^^
/D:/Flutter/flutter/packages/flutter/lib/src/widgets/localizations.dart:413:17: Context: Found this candidate, but the arguments don't match.
static Locale localeOf(BuildContext context) {
^^^^^^^^
FAILURE: Build failed with an exception.
* Where:
Script 'D:\Flutter\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 991
* What went wrong:
Execution failed for task ':app:compileFlutterBuildDebug'.
> Process 'command 'D:\Flutter\flutter\bin\flutter.bat'' finished with non-zero exit value 1
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 1m 50s
Running Gradle task 'assembleDebug'...
Running Gradle task 'assembleDebug'... Done 121.0s
Exception: Gradle task assembleDebug failed with exit code 1
问题是昨天它工作正常,但今天它显示此错误消息。 请帮忙解决。
答案 0 :(得分:7)
更新提供程序版本 4.3.3 即可解决问题
答案 1 :(得分:2)
编辑 - 使用 flutter 2 后,它将无法工作。答案现在已经过时
当我切换到主频道时遇到了这个问题。不得不降级
flutter channel stable && flutter upgrade
解决了问题
答案 2 :(得分:2)
过去 3 天我遇到了同样的问题。 如果你不想使用降级的flutter版本,我还有一个解决方案: 首先,如果您使用以下方法将其降级,请更新您的 flutter 版本:
flutter upgrade
在您的终端中。
正如您在调试控制台中所注意到的,您正在使用提供程序
<块引用>版本 3.2.0
来自错误输出。我认为如果您使用的提供程序版本大于
<块引用>4.0.0 版
只需将 provider: ^3.2.0
替换为 provider: ^4.0.0
(您可以在 pubspec.yaml 文件中对此进行调整)
然后它会起作用。
试一试,让我知道这是否能解决问题:)
答案 3 :(得分:0)
您可能在 'stable' 以外的频道中升级了 flutter。
在这种情况下,最简单的解决方案是简单地打开一个终端并运行 (type)
flutter downgrade
。
答案 4 :(得分:0)
请将您的依赖项升级到最新的。我自己找到了解决方案。出现这个错误是因为复制了旧版本的完整代码,现在最新版本启用了空安全,所以这就是问题的原因。