開(kāi)發(fā)項(xiàng)目中Flutter問(wèn)題總結(jié)
1.packages/flutter_tools/gradle/module_plugin_loader.gradle' as it does not exit報(bào)錯(cuò)
解決:
這個(gè)問(wèn)題直接flutter packages get ,可能是之前安裝包添加依賴沒(méi)有執(zhí)行下載包引起。
2.如果控制臺(tái)使用dart-sdk里自帶的工具命令出現(xiàn)command not found: dartdoc dartfmt dartanalyer類似這種的錯(cuò)誤。
解決:
這種情況是路徑不對(duì),檢查配置路徑,如果是mac,在命令行窗口運(yùn)行下ls $PATH,看下有沒(méi)有/dart-sdk/bin目錄,如果沒(méi)有需要.bash_profile去配置下并啟動(dòng)生效source .zshrc。如果是windows,直接去打開(kāi)環(huán)境變量確認(rèn)下是否有dart-sdk/bin路徑。
3.在pubspec中增加dependencies后,如果不自動(dòng)下載依賴包,需要手動(dòng)下載依賴包,否則運(yùn)行報(bào)錯(cuò)。
解決:
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 導(dǎo)入或者導(dǎo)入其他包含 meta 導(dǎo)出的包,例如 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中對(duì)應(yīng)的依賴版本號(hào)改為any,更新后,再在pubspec.lock中找到對(duì)應(yīng)版本號(hào)替換any。
5. 打?。篎lutter list return Instance of
解決:
在使用Flutter開(kāi)發(fā)時(shí),打印對(duì)象,總是出現(xiàn)Instance of,原因是沒(méi)有在bean里重寫(xiě)toString()方法。Flutter list return Instance of
6.Xcode12 iOS14 AppDelegate 調(diào)用startFlutterWithPlatform應(yīng)用會(huì)崩潰,Debug啟動(dòng)會(huì)閃退。
解決:
這是fluttersdk版本問(wèn)題引起,1.22版本已經(jīng)修復(fù),但是我們使用的是flutter_boost,目前使用過(guò)程中為了不升級(jí)flutter 或者 flutter_boost 在Xcode User-Defined 添加一項(xiàng)FLUTTER_BUILD_MODE= release 可以先使用到起,等官方適配后再切回來(lái)。但是flutter代碼斷點(diǎn)調(diào)試就不能用了,我目前選擇的還是用之前的xcode開(kāi)發(fā)。
參考:https://github.com/alibaba/flutter_boost/issues/871
7.Android 老的項(xiàng)目接入時(shí),報(bào)錯(cuò)誤Cause: assert appProject != null
解決:
歷史項(xiàng)目的主 Module 是 名字 更換為 app 即可。
8.AndroidStudio編譯時(shí)報(bào)錯(cuò):Timeout waiting to lock artifact cache 。。。
解決:
Android Studio ->File -> Invalidate Caches/Restart ->Invalidate and Restart
9.如果加載本地文件報(bào)錯(cuò)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 問(wèn)題
解決:
需要Scaffold作為根布局,意為用Scaffold包裹起來(lái)即可。
@override
Widget build(BuildContext context) {
return new Scaffold( //Material組件
body: Container()
);
}
11.Flutter Dart 報(bào)錯(cuò) ‘_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'
解決: 兩個(gè)ScrollView嵌套造成計(jì)算高度錯(cuò)誤。