1、 开发环境:Android Studio 3.5.1
FlutterSDK当前版本:Flutter version 1.12.13+hotfix.8-pre.2
升级到的目标版本:1.17.x
2、前期准备:
项目以及组件库中的dio版本号均同步升级:2.1.16升级到3.0.9
升级文档参考: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)
运行项目测试完美运行,准备工作完成!
3、升级FlutterSDK:
pubspec.yaml中点击右上角的Flutter doctor
进行漫长的等待...(等见到如下界面升级成功到v1.17.1,我的大约用了不到30分钟)
4、运行项目检查是否有第三方库需要升级:
同步升级项目及组件库中的第三方库为当前最新版:
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、再次运行提示(已经离成功更近了一步):
解决方案:
修改文件:
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 重新编译就好了
问题原因:证书错误无法通过https访问。
参考文档:https://github.com/flutter/flutter/issues/47452
6、再次运行(已经离成功又近了一步):
打开翻墙工具重新执行更新库操作
7、再次运行(已经离成功又近了一步):
升级gradle:gradle-5.4.1-all
gradle-wrapper.properties文件中修改成:
distributionUrl=https://services.gradle.org/distributions/gradle-5.4.1-all.zip
完美运行起来了!
8、升级Android Studio为当前最新版3.6.3并更新所有的插件,测试项目也运行正常
9、测试下载时进度不变,后台报异常:
解决方案:
修改下载路径的传参方式为String类型的数据,再次运行测试可以下载了!