异常
Androidstudio 编译运行导入别人的Flutter项目时报错,具体异常信息:
D:/IDE/Flutter_windows_2.0.0-stable/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_redux-0.5.4/lib/flutter_redux.dart:77:19: Error: The method 'inheritFromWidgetOfExactType' isn't defined for the class 'BuildContext'.
- 'BuildContext' is from 'package:flutter/src/widgets/framework.dart' ('/D:/IDE/Flutter_windows_2.0.0-stable/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)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
截图
原因是 项目依赖的flutter_redux package这个版本( 0.5.4)引用BuildContext中没有inheritFromWidgetOfExactType这个方法;
解决办法:
1,升级flutter_redux,由项目中依赖的flutter_redux: ^0.5.3升级到flutter_redux: ^0.7.0,依赖包管理是在pubspec.yaml文件中;
1.1,如何查看最新版
1.1.1,查看依赖包最新版本:https://pub.flutter-io.cn/packages
1.1.2,或者通过AndroidStudio 点开pubspec.yaml文件,窗口右上角点击 pub upgrade,也可以查看各个依赖包最新版本
2,找到开发这个项目使用的Flutter SDK 版本,修改为之前的版本既可;
版本回退一般都是通过git完成的,具体可以某度;
总结
导入项目编译出现的问题很多都是引入依赖包(packages)和Flutter SDK版本不匹配导致;所以要么升级packages,要么降低FlutterSDK版本,也有可能是反的;