Flutter錯誤匯總

開發(fā)項目中Flutter問題總結(jié)

1.packages/flutter_tools/gradle/module_plugin_loader.gradle' as it does not exit報錯

解決:

這個問題直接flutter packages get ,可能是之前安裝包添加依賴沒有執(zhí)行下載包引起。

2.如果控制臺使用dart-sdk里自帶的工具命令出現(xiàn)command not found: dartdoc dartfmt dartanalyer類似這種的錯誤。

解決:

這種情況是路徑不對,檢查配置路徑,如果是mac,在命令行窗口運行下ls $PATH,看下有沒有/dart-sdk/bin目錄,如果沒有需要.bash_profile去配置下并啟動生效source .zshrc。如果是windows,直接去打開環(huán)境變量確認下是否有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 導(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中對應(yīng)的依賴版本號改為any,更新后,再在pubspec.lock中找到對應(yīng)版本號替換any。

5. 打?。篎lutter list return Instance of

解決:

在使用Flutter開發(fā)時,打印對象,總是出現(xiàn)Instance of,原因是沒有在bean里重寫toString()方法。Flutter list return Instance of

6.Xcode12 iOS14 AppDelegate 調(diào)用startFlutterWithPlatform應(yīng)用會崩潰,Debug啟動會閃退。

解決:

這是fluttersdk版本問題引起,1.22版本已經(jīng)修復(fù),但是我們使用的是flutter_boost,目前使用過程中為了不升級flutter 或者 flutter_boost 在Xcode User-Defined 添加一項FLUTTER_BUILD_MODE= release 可以先使用到起,等官方適配后再切回來。但是flutter代碼斷點調(diào)試就不能用了,我目前選擇的還是用之前的xcode開發(fā)。

參考: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嵌套造成計算高度錯誤。

13.使用Getx的時候,改變數(shù)組里對象屬性時頁面不刷新。

解決:

使用數(shù)組.refresh();

14. 混合傳值和回傳問題

1.flutter boost:bool值問題 和 Map問題,傳遞數(shù)據(jù)類型盡量使用String。

15.域名代理測試問題

解決:

使用代理測試時,會有問題。1.Android問題可能第一次會出現(xiàn)接口問題。 2.部分第三方比如圖片問題,會訪問不到,使用switchhost轉(zhuǎn)換不了指定域名,會訪問線上。

16.flutter boost Android 監(jiān)聽(FlutterBoost.singleton.channel.addEventListener)和通道(MethodChannel)時機問題,有時FlutterBoost沒有注冊成功,會造成Native和Flutter傳遞數(shù)據(jù)失敗問題。

解決:

1.通道(MethodChannel)這個需要在Native中引擎注冊成功后回調(diào)方法里調(diào)用,但是部分手機不行(三星),獲取不到。使用時候謹慎。

2.使用提供的監(jiān)聽通知(addEventListener、sendEvent)時,Android第一次會出現(xiàn)接收不到,不成成功情況,需要FlutterBoost所有方法執(zhí)行完后,自己新增一個監(jiān)聽事件initPlugin,告知Native可以send數(shù)據(jù)過來,否則還是會因為時機先后問題造成錯誤。

17.flutter頁面切換到主頁的tab中的某一個控制器,且該控制器里邊添加了Flutter的FlutterContainer切片(原生控制器中既有原生頁面又有flutter頁面)場景,會出現(xiàn)flutter頁面被壓縮變形情況。(iOS問題)

解決:

每次切換的時候需要重新設(shè)置frame或者Constraints。

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

解決:

進入到Flutter_module工程,執(zhí)行 flutter clean,flutter pub get,然后回到iOS工程里面,執(zhí)行 Pod install即可。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容