如何解决“任务':app:compileFlutterBuildDebug'的执行失败。”

时间:2021-01-30 12:16:20

标签: flutter visual-studio-code

当我尝试在终端中使用“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

问题是昨天它工作正常,但今天它显示此错误消息。 请帮忙解决。

5 个答案:

答案 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)

请将您的依赖项升级到最新的。我自己找到了解决方案。出现这个错误是因为复制了旧版本的完整代码,现在最新版本启用了空安全,所以这就是问题的原因。