Flutter 升级导致 getter 'fullObstruction' 没有为 class 'ObstructingPreferredSizeWidget' 定义。错误
Flutter upgradation causing The getter 'fullObstruction' isn't defined for the class 'ObstructingPreferredSizeWidget'. error
我的项目在 1.10.0 版本上运行良好,我已将 flutter 升级到新版本 1.12,但出现以下错误
编译器消息:
../../../AppData/Roaming/Pub/Cache/hosted/pub.dartlang.org/flutter_platform_widgets-0.20.2/lib/src/platform_scaffold.dart:229:38: Error: The getter 'fullObstruction' isn't defined for the class 'ObstructingPreferredSizeWidget'.
- 'ObstructingPreferredSizeWidget' is from 'package:flutter/src/cupertino/page_scaffold.dart' ('/C:/src/flutter/packages/flutter/lib/src/cupertino/page_scaffold.dart').
Try correcting the name to the name of an existing getter, or defining a getter or field named 'fullObstruction'.
final obstruct = navigationBar.fullObstruction == null ||
^^^^^^^^^^^^^^^
../../../AppData/Roaming/Pub/Cache/hosted/pub.dartlang.org/flutter_platform_widgets-0.20.2/lib/src/platform_scaffold.dart:230:25: Error: The getter 'fullObstruction' isn't defined for the class 'ObstructingPreferredSizeWidget'.
- 'ObstructingPreferredSizeWidget' is from 'package:flutter/src/cupertino/page_scaffold.dart' ('/C:/src/flutter/packages/flutter/lib/src/cupertino/page_scaffold.dart').
Try correcting the name to the name of an existing getter, or defining a getter or field named 'fullObstruction'.
navigationBar.fullObstruction;
^^^^^^^^^^^^^^^
目标 kernel_snapshot 失败:异常:创建快照时出错:空
构建失败。
再次将 flutter 降级到 1.10 项目工作正常,但我需要将 webrtc 库升级到这个 1.12 版本。有人可以帮助解决这个问题吗?
对于那些遇到这个问题的人,我在这里提供了一个解决方案。这个问题花了我2天的时间,我一直在敲脑袋,为什么升级到稳定版的flutter v1.12.13+hotfix.5-stable.zip
flutter package 还是报错
解法:
上面的问题表明 fullObstruction 没有为文件 CupertinoPageScaffold.dart 中的 class ObstructingPreferredSizeWidget 定义。所以我把文件放在 flutter 包里的记事本里。原路径是 C:\src2\flutter\packages\flutter\lib\src\cupertino ,src2是我的flutter包所在的文件夹。
在那个文件中,我看到一个变量在较新版本中发生了变化,而不是之前的变量下面是 fullObstruction,它们变成了 bool shouldFullyObstruct(BuildContext context);在较新的版本中。
abstract class ObstructingPreferredSizeWidget extends PreferredSizeWidget {
/// If true, this widget fully obstructs widgets behind it by the specified
/// size.
///
/// If false, this widget partially obstructs.
bool shouldFullyObstruct(BuildContext context);
}
然后我检查这个错误发生在哪个文件,
C:\src2\flutter.pub-cache\hosted\pub.dartlang.org\flutter_platform_widgets-0.20.2\lib\src\platform-scaffold.dart
早些时候,这一行使用了已弃用的变量 fullObstruction,我用新变量替换并解决了问题,我的项目和之前一样运行良好。
final obstruct = navigationBar.shouldFullyObstruct(context) == null ||
navigationBar.shouldFullyObstruct(上下文);
希望这对某人有所帮助。
我的项目在 1.10.0 版本上运行良好,我已将 flutter 升级到新版本 1.12,但出现以下错误
编译器消息:
../../../AppData/Roaming/Pub/Cache/hosted/pub.dartlang.org/flutter_platform_widgets-0.20.2/lib/src/platform_scaffold.dart:229:38: Error: The getter 'fullObstruction' isn't defined for the class 'ObstructingPreferredSizeWidget'.
- 'ObstructingPreferredSizeWidget' is from 'package:flutter/src/cupertino/page_scaffold.dart' ('/C:/src/flutter/packages/flutter/lib/src/cupertino/page_scaffold.dart').
Try correcting the name to the name of an existing getter, or defining a getter or field named 'fullObstruction'.
final obstruct = navigationBar.fullObstruction == null ||
^^^^^^^^^^^^^^^
../../../AppData/Roaming/Pub/Cache/hosted/pub.dartlang.org/flutter_platform_widgets-0.20.2/lib/src/platform_scaffold.dart:230:25: Error: The getter 'fullObstruction' isn't defined for the class 'ObstructingPreferredSizeWidget'.
- 'ObstructingPreferredSizeWidget' is from 'package:flutter/src/cupertino/page_scaffold.dart' ('/C:/src/flutter/packages/flutter/lib/src/cupertino/page_scaffold.dart').
Try correcting the name to the name of an existing getter, or defining a getter or field named 'fullObstruction'.
navigationBar.fullObstruction;
^^^^^^^^^^^^^^^
目标 kernel_snapshot 失败:异常:创建快照时出错:空 构建失败。
再次将 flutter 降级到 1.10 项目工作正常,但我需要将 webrtc 库升级到这个 1.12 版本。有人可以帮助解决这个问题吗?
对于那些遇到这个问题的人,我在这里提供了一个解决方案。这个问题花了我2天的时间,我一直在敲脑袋,为什么升级到稳定版的flutter v1.12.13+hotfix.5-stable.zip
flutter package 还是报错解法: 上面的问题表明 fullObstruction 没有为文件 CupertinoPageScaffold.dart 中的 class ObstructingPreferredSizeWidget 定义。所以我把文件放在 flutter 包里的记事本里。原路径是 C:\src2\flutter\packages\flutter\lib\src\cupertino ,src2是我的flutter包所在的文件夹。
在那个文件中,我看到一个变量在较新版本中发生了变化,而不是之前的变量下面是 fullObstruction,它们变成了 bool shouldFullyObstruct(BuildContext context);在较新的版本中。
abstract class ObstructingPreferredSizeWidget extends PreferredSizeWidget {
/// If true, this widget fully obstructs widgets behind it by the specified
/// size.
///
/// If false, this widget partially obstructs.
bool shouldFullyObstruct(BuildContext context);
}
然后我检查这个错误发生在哪个文件, C:\src2\flutter.pub-cache\hosted\pub.dartlang.org\flutter_platform_widgets-0.20.2\lib\src\platform-scaffold.dart
早些时候,这一行使用了已弃用的变量 fullObstruction,我用新变量替换并解决了问题,我的项目和之前一样运行良好。
final obstruct = navigationBar.shouldFullyObstruct(context) == null || navigationBar.shouldFullyObstruct(上下文);
希望这对某人有所帮助。