久久久精品一区ed2k-女人被男人叉到高潮的视频-中文字幕乱码一区久久麻豆樱花-俄罗斯熟妇真实视频

flutter升級,flutter在線更新

Flutter 升級空安全攻略

1、升級依賴的插件版本pubspec.yaml(包括example),pub get 解決依賴沖突

我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、金平ssl等。為上千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的金平網(wǎng)站制作公司

2、pubspec.yaml所在路徑下執(zhí)行 dart pub upgrade --null-safety 檢查是否所在flutter工程依賴庫是否都升級到了空安全版本

example示例需要進入example路徑下檢查

1、List默認(rèn)構(gòu)造方法刪除,改用[];

main.dart文件main方法第一行增加CustomFlutterBinding();

2、flutter clean,刪除所有 pubspec.lock文件 ,pub get

3、FutureOr報錯引入頭文件、import 'dart:async';

4、屬性用優(yōu)先用late 或者 ?聲明,在確定不為空情況才用!

flutter項目升級2.0過程填坑記錄

在此之前先推薦看大佬的: 填坑指導(dǎo)

iOS需要注意:

1、flutter2.0要求cocoapods 升級到1.9.0

詳情看這篇博客

2、原來flutter項目中的podfile文件是舊版本的ccocoapods了,刪除podfile和對應(yīng)的.lock,然后flutter項目重新運行使用它自動生成的podfile文件

3、安裝CocoaPods

卸載cocoapods:sudo gem uninstall cocoapods

查看cocoapods版本:pod --version

指定版本安裝:

sudo gem install -n /usr/local/bin cocoapods -v 1.9.3(新MacOS系統(tǒng)升級)

不指定版本安裝

sudo gem install -n /usr/local/bin cocoapods

說明 :老項目sdk1.17.0===升級到2.0.1,當(dāng)前所有操作基于win平臺

到此為止環(huán)境已經(jīng)準(zhǔn)備妥當(dāng),正式進入項目修改。

所有的插件都要適配到空安全,插件是否支持均會有對應(yīng)說明Null safety,適配過程不確定版本的話,可以使用dio: any,適配完事后再在pubspec.lock文件中查看具體的版本修改過來,實在有部分插件沒有支持的,參考下面

部分插件在適配空安全的版本放棄維護了,得自行更新或?qū)ふ姨娲?,如?flutter_swiper 變?yōu)?flutter_swiper_null_safety ,插件更新后要注意項目中的用法是否需要更新

2.1.1: 以前采用的是 provide 插件共享全局?jǐn)?shù)據(jù),現(xiàn)在變化為 provider ,用法改變, 點擊參考 ,以防文章丟失,我重復(fù)一遍:

比如:

2.1.2: dio版本升級到4.0.0最新版后,部分用法改變

2.2.1

2.2.2

解決方案:

2.2.3

解決方案:

2.2.4

解決方案:

2.2.5

解決方案:

2.2.6

解決方案:

2.2.7

解決方案:

2.2.8

解決方案: child 換為sliver

2.2.8.1

解決方案: 項目目錄下: android--app-build.gradle --minSdkVersion改為:18 或者19

2.2.8.2

解決方案: 在pubspec.yarm管理里面添加:publish_to

2.2.8.3

解決方案: video_player升級后字段發(fā)生了變化,initialized字段更換為:isInitialized(_controller.value.isInitialized)

2.2.8.4

解決方案:

2.2.8.5

解決方案:

2.2.8.6

解決方案: 方案一:刪除ios目錄下的Podfile.lock 文件然后重新運行 pod install命令

方案二:刪除ios目錄下的Podfile.lock與Podfile文件 重新運行flutter run或flutter build ios

方案三:刪除ios目錄,重新運行 flutter create . 命令,注意有"."這個符號不要忘記

2.2.8.7

這個報錯一般對應(yīng)的就是下面的報錯,注意看后面的報錯信息,看是哪個插件報錯。

解決方案: 把Podfile的版本注釋打開,改為platform :ios, '9.0' 或者是更高的版本

全局替換

1.將new List() 替換為[];

2.TextField的inputFormatters:[WhitelistingTextInputFormatter.digitsOnly] 替換為[FilteringTextInputFormatter.digitsOnly]

3.TextField的inputFormatters:[WhitelistingTextInputFormatter(RegExp("[a-z|A-Z|0-9]"))]替換為FilteringTextInputFormatter.allow(RegExp("[a-z|A-Z|0-9]"))

4.Stack組件中overflow: Overflow.visible改為 clipBehavior: Clip.none;overflow: Overflow.clip改為clipBehavior:Clip.hardEdge

5.ListWheelScrollView組件中clipToSize = false改為clipBehavior: Clip.none,clipToSize = true改為 Clip.hardEdge

6.TextField中maxLengthEnforced: true改為maxLengthEnforcement:MaxLengthEnforcement.enforced

7.FlatButton、RaisedButton、OutlineButton的變化: 官方參考

顏色的屬性發(fā)生了變化,由原來的Color 變?yōu)榱薓aterialStatePropertyColor, 這是未了解決不同狀態(tài)(pressed、hovered、focused、disabled)下按鈕顏色的變化

例如

8.出現(xiàn)如下警告

9.showSnackBar報錯誤

解決方案: Scaffold換為ScaffoldMessenger

10.textSelectionColor棄用

解決方案:

11.charts_flutter升級后屬性報錯

解決方案:

12.flutter 真機調(diào)試無法訪問網(wǎng)絡(luò),dio報錯

解決方案:

android:

ios:

問題12完整參考

Flutter升級Dart版本支持空安全,原項目報錯的處理

Dart支持空安全已經(jīng)很久了,我們的項目在開發(fā)初期還沒有空安全這回事,之前使用Swift開發(fā)過一段時間,領(lǐng)略過空安全的好處,于是升級了一下dart版本,升級后發(fā)現(xiàn)項目整體爆紅,基本每個問題件都報錯,一番摸索之后發(fā)現(xiàn)兩種方式可解決該問題

1、第一種:在 dart 和 flutter 命令里,加入 --no-sound-null-safety 標(biāo)記禁用

2、有人說在程序入口的第一行即main()的第一行添加// @dart=2.9以限定dart版本,親測不好用,不知道是不是我加的地方有問題,但是在每個報錯文件第一行都添加// @dart=2.9是好用的,這個還需要進一步探索

3、 最后是設(shè)置環(huán)境的sdk版本最低2.11.0

文章標(biāo)題:flutter升級,flutter在線更新
分享地址:http://sd-ha.com/article32/dsesgpc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、App設(shè)計網(wǎng)站排名、外貿(mào)建站、響應(yīng)式網(wǎng)站用戶體驗

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)