Flutter错误汇总 开发项目中Flutter问题总结

开发项目中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/

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嵌套造成计算高度错误。

13.使用Getx的时候,改变数组里对象属性时页面不刷新。

解决:

使用数组.refresh();

14. 混合传值和回传问题

1.flutter boost:bool值问题 和 Map问题,传递数据类型尽量使用String。

15.域名代理测试问题

解决:

使用代理测试时,会有问题。1.Android问题可能第一次会出现接口问题。 2.部分第三方比如图片问题,会访问不到,使用switchhost转换不了指定域名,会访问线上。

16.flutter boost Android 监听(FlutterBoost.singleton.channel.addEventListener)和通道(MethodChannel)时机问题,有时FlutterBoost没有注册成功,会造成Native和Flutter传递数据失败问题。

解决:

1.通道(MethodChannel)这个需要在Native中引擎注册成功后回调方法里调用,但是部分手机不行(三星),获取不到。使用时候谨慎。

2.使用提供的监听通知(addEventListener、sendEvent)时,Android第一次会出现接收不到,不成成功情况,需要FlutterBoost所有方法执行完后,自己新增一个监听事件initPlugin,告知Native可以send数据过来,否则还是会因为时机先后问题造成错误。

17.flutter页面切换到主页的tab中的某一个控制器,且该控制器里边添加了Flutter的FlutterContainer切片(原生控制器中既有原生页面又有flutter页面)场景,会出现flutter页面被压缩变形情况。(iOS问题)

解决:

每次切换的时候需要重新设置frame或者Constraints。

18.# [Invalid Podfile file: cannot load such file -- ../flutter_module/.ios/Flutter/podhelper.rb.]

解决:

进入到Flutter_module工程,执行 flutter clean,flutter pub get,然后回到iOS工程里面,执行 Pod install即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章