1湘换、 開發(fā)環(huán)境:Android Studio 3.5.1
FlutterSDK當(dāng)前版本:Flutter version 1.12.13+hotfix.8-pre.2
升級(jí)到的目標(biāo)版本:1.17.x
2俯萎、前期準(zhǔn)備:
項(xiàng)目以及組件庫中的dio版本號(hào)均同步升級(jí):2.1.16升級(jí)到3.0.9
升級(jí)文檔參考:https://github.com/flutterchina/dio/blob/master/migration_to_3.0.md
主要是把文件form表單方式傳參方法改了:
FormData.from改為了FormData.fromMap
把文件傳輸方式更改為(并且方法添加async):
"file": await MultipartFile.fromFile(imagePath,filename: _fileName)
運(yùn)行項(xiàng)目測(cè)試完美運(yùn)行,準(zhǔn)備工作完成盟庞!
3、升級(jí)FlutterSDK:
pubspec.yaml中點(diǎn)擊右上角的Flutter doctor
進(jìn)行漫長(zhǎng)的等待...(等見到如下界面升級(jí)成功到v1.17.1池凄,我的大約用了不到30分鐘)
4枣察、運(yùn)行項(xiàng)目檢查是否有第三方庫需要升級(jí):
同步升級(jí)項(xiàng)目及組件庫中的第三方庫為當(dāng)前最新版:
cached_network_image: ^2.2.0+1
extended_image: ^0.8.0
原先的低版本為:
cached_network_image: ^2.0.0-rc
extended_image: ^0.7.1
5、再次運(yùn)行提示(已經(jīng)離成功更近了一步):
解決方案:
修改文件:
flutter/packages/flutter_tools/gradle/resolve_dependencies.gradle
flutter/packages/flutter_tools/gradle/aar_init_script.gradle
flutter/packages/flutter_tools/gradle/flutter.gradle
中的:https://storage.googleapis.com/download.flutter.io 替換為:http://download.flutter.io 重新編譯就好了
問題原因:證書錯(cuò)誤無法通過https訪問砰盐。
參考文檔:https://github.com/flutter/flutter/issues/47452
6闷袒、再次運(yùn)行(已經(jīng)離成功又近了一步):
打開翻墻工具重新執(zhí)行更新庫操作
7、再次運(yùn)行(已經(jīng)離成功又近了一步):
升級(jí)gradle:gradle-5.4.1-all
gradle-wrapper.properties文件中修改成:
distributionUrl=https://services.gradle.org/distributions/gradle-5.4.1-all.zip
完美運(yùn)行起來了岩梳!
8囊骤、升級(jí)Android Studio為當(dāng)前最新版3.6.3并更新所有的插件,測(cè)試項(xiàng)目也運(yùn)行正常
9冀值、測(cè)試下載時(shí)進(jìn)度不變也物,后臺(tái)報(bào)異常:
解決方案:
修改下載路徑的傳參方式為String類型的數(shù)據(jù),再次運(yùn)行測(cè)試可以下載了列疗!