需要使用git方式下载安装flutter sdk,因为版本切换是使用git reset指定到切换到版本的。
1. git clone https://github.com/flutter/flutter.git 下载最新的flutter sdk
2. 添加flutter路径到.bash_profile,然后命令行执行source .bash_profile让它生效
  export PUB_HOSTED_URL=https://pub.flutter-io.cn   //配置pub仓库服务器路径
  export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
  export FLUTTER_HOME=/Users/yfsu/Flutter/flutter  //配置flutter home目录
  export PATH=${PATH}:${FLUTTER_HOME}/bin

3. cd到flutter目录下,命令行执行flutter doctor,就会自动下载需要到依赖包括对应版本engine、dart等等。执行完后所有选项都是对勾说明环境安装成功。
  对应版本的依赖在flutter/bin/cache目录下,比如dart sdk在flutter/bin/cache/dart-sdk目录下

4. 命令行执行flutter --version 可以查看到具体flutter版本号、framework版本号、engine版本号、dart版本号等。这些版本号都是对应配套的,执行flutter doctor自动下载对应版本号到内容。

下面是切换flutter sdk的版本解决方法,切换flutter sdk版本后对应的dart版本等也对应切换,因为是flutter doctor会自动下载对应版本的依赖。
  解决方法:github上flutter项目找到对应版本的commit tag,然后使用git reset --hard tag强制回退flutter到指定版本,最后再执行flutter doctor更新依赖即可。
  1. github找到flutter sdk提交的tag列表
    
  2. 找到自己想回退到到版本对应的tag,比如这里要回退到1.20.0
    
    
    commit后面那一串840c9205b344a59e48a5926ee2d791cc5640924c 就是git commit提交到tag,也就是我们要找的tag。
  3. 命令行执行 git reset --hard 840c9205b344a59e48a5926ee2d791cc5640924c 回退flutter到指定tag,这样就是回退到了我们需要到1.20.0版本了。
  4. 命令行执行 flutter doctor下载更新对应到依赖,比如对应版本的dart库等等
  5. 可以执行flutter --version 看看flutter sdk版本和dart版本

android studio设置更改flutter sdk和dart sdk的路径