开发项目中Flutter问题总结
1.packages/flutter_tools/gradle/module_plugin_loader.gradle' as it does not exit报错
解决:
这个问题直接flutter packages get ,可能是之前安装包添加依赖没有执行下载包引起。
2.如果控制台使用dart-sdk里自带的工具命令出现command not found: dartdoc dartfmt dartanalyer
类似这种的错误。
解决:
这种情况是路径不对,检查配置路径,如果是mac,在命令行窗口运行下ls $PATH,看下有没有/dart-sdk/bin目录,如果没有需要.bash_profile
去配置下并启动生效source .zshrc
。如果是windows,直接去打开环境变量确认下是否有dart-sdk/bin路径。
3.在pubspec中增加dependencies后,如果不自动下载依赖包,需要手动下载依赖包,否则运行报错。
解决:
flutter packages get
flutter packages upgrade
4.error: Undefined name 'required' used as an annotation. (undefined_annotation at main.dart:9)
解决:
Required 在元包中被定义。或者直接使用 import package:meta/meta.dart 导入或者导入其他包含 meta 导出的包,例如 Flutter 的包 Flutter /material.dart。
5.Because new_trend depends on build_runner >=0.9.0 which requires SDK version >=2.0.0-dev.61 <3.0.0, version solving failed.
pub get failed (1)
解决:
pubspec.yaml中对应的依赖版本号改为any,更新后,再在pubspec.lock中找到对应版本号替换any。
5. 打印:Flutter list return Instance of
解决:
在使用Flutter开发时,打印对象,总是出现Instance of,原因是没有在bean里重写toString()方法。Flutter list return Instance of
6.Xcode12 iOS14 AppDelegate 调用startFlutterWithPlatform应用会崩溃,Debug启动会闪退。
解决:
这是fluttersdk版本问题引起,1.22版本已经修复,但是我们使用的是flutter_boost,目前使用过程中为了不升级flutter 或者 flutter_boost 在Xcode User-Defined 添加一项FLUTTER_BUILD_MODE= release 可以先使用到起,等官方适配后再切回来。但是flutter代码断点调试就不能用了,我目前选择的还是用之前的xcode开发。
参考:https://github.com/alibaba/flutter_boost/issues/871
7.Android 老的项目接入时,报错误Cause: assert appProject != null
解决:
历史项目的主 Module 是 名字 更换为 app 即可。
8.AndroidStudio编译时报错:Timeout waiting to lock artifact cache 。。。
解决:
Android Studio ->File -> Invalidate Caches/Restart ->Invalidate and Restart
9.如果加载本地文件报错VERBOSE-2:ui_dart_state.cc(157)] Unhandled Exception: Unable to load asset: assets/data/car_models.json。
解决:
找不到该文件,需要在pubspec.yaml中,assets:下添加 - assets/data/
assets
10.No Material widget found 问题
解决:
需要Scaffold作为根布局,意为用Scaffold包裹起来即可。
@override
Widget build(BuildContext context) {
return new Scaffold( //Material组件
body: Container()
);
}
11.Flutter Dart 报错 ‘_InternalLinkedHashMap dynamic, dynamic‘ is not a subtype of type‘
解决方式:new Map<String, dynamic>.from(params)
12.RenderBox was not laid out: RenderFlex#1cf8a relayoutBoundary=up9 NEEDS-PAINT 'package:flutter/src/rendering/box.dart': Failed assertion: line 1694 pos 12: 'hasSize'
解决: 两个ScrollView嵌套造成计算高度错误。
网友评论