如何在Windows、MacOS上搭建Flutter开发环境(详细篇)

7,111 阅读10分钟

特别说明:如果读者还不会科学上网!请先停止学习,因为读者不可能将Flutter开发环境搭建成功,所以先去学学科学上网,而且能打开谷歌了,再返回来学习效率会更高。

Flutter开发环境搭建(Windows版)

系统要求

要想在Windows上成功安装并运行Flutter,读者的系统开发环境必须满足以下最低要求:

  • 操作系统:Windows7或更高版本的64位(64-bit)操作系统;
  • 磁盘空间:大于3GB,虽然官方说的是400MB,但是还需要安装Android Studio和虚拟机,所以至少要3GB左右,如果能达到5GB就更好了,这样就可以满足安装多个虚拟机的要求;
  • 工具:Flutter依赖以下这些命令行工具

Java开发工具包的下载与安装

下载Java开发工具包

Java开发工具包下载地址,这个地址会随着Java升级而有所变化,如果已经改变了,请百度一下搜索java下载或者直接到Java官网下载。

Java开发工具包
首先点击红框中的圆圈,然后根据读者的系统是64位还是32位来选择版本,笔者的系统是64位的,所以选择最下面的Windows x64版本。

安装Java开发工具包

首先,下载完成后双击运行进行安装,直接点击下一步下一步就可以了,安装路径读者随意;

最后,安装完成后到终端(cmd命令行)中输入java,能出现下图中的结果,说明安装成功。

CMD命令行

获取Flutter SDK

  1. 读者前往Flutter官网下载其最新可用的安装包,官网下载地址(地址如失效,请速速联系笔者)
    Windows-Flutter SDK
    注意:Flutter的渠道版本会不停的变动,请以Flutter官网为准;另外,读者也可以去Github Flutter项目中去下载安装包,下载地址
  2. 下载完成后将安装包zip解压到读者想要解压的路径下(注意:不要将安装包zip解压到需要一些高权限的路径下,如C:\Program Files\
  3. 在安装包zip已解压目录的flutter文件下找到flutter_console.bat,双击运行并启动flutter命令行,接下来读者就可以在Flutter命令行中运行flutter命令了。

配置环境变量

如果读者想在终端CMD命令行运行flutter命令,而不是通过flutter_console.bat来运行flutter命令,需要添加以下环境变量到系统Path中:

  • 控制面板>系统和安全>系统>高级系统设置>环境变量
  • 在“系统变量”下检查是否有名为“Path”的条目:
    • 如果该条目存在,追加flutter\bin的全路径(如D:\Development_Tools\Flutter_SDK\flutter\bin),使用 ; 作为分隔符
    • 如果该条目不存在,创建一个新系统变量Path ,然后将flutter\bin的全路径作为它的值

配置镜像

由于在国内访问Flutter有时可能会受到限制,Flutter官方为中国开发者搭建了临时镜像,读者需要在用户环境变量中配置镜像服务器地址:

PUB_HOSTED_URL=https://pub.flutter-io.cn
FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

配置镜像服务器
说明:此镜像为临时镜像,并不能保证一直可用,读者可以参考 flutter.io/community/c… 以获得有关镜像服务器的最新动态。

运行flutter doctor命令

在CMD命令行或Flutter命令行运行如下命令来查看是否还需要安装其他依赖,如果需要,安装(盘)它:

flutter doctor

该命令检查读者的环境并在命令行窗口中显示报告。Dart SDK已经打包在Flutter SDK里了,没有必要单独安装Dart,仔细检查命令行输出信息,以获取可能需要安装的其他软件或进一步需要执行的任务。

C:\Users\Administrator>flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel master, v1.1.10-pre.214, on Microsoft Windows [Version 10.0.17134.706], locale zh-CN)
[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[√] Android Studio (version 3.0)
[!] IntelliJ IDEA Ultimate Edition (version 2017.2)
    X Flutter plugin not installed; this adds Flutter specific functionality.
    X Dart plugin not installed; this adds Dart specific functionality.
[!] Connected device
    ! No devices available

! Doctor found issues in 2 categories.

以上为笔者的命令输出信息,读者在自己的电脑上运行flutter doctor看到的命令输出信息当中的[X]肯定会比笔者的多一些,因为读者还没有安装Android Studio(简称AS),那么接下来讲解一下如何下载安装AS。

Android Studio下载与安装

理论上可以使用任何文本编辑器与命令行工具来构建Flutter应用程序。 不过,Flutter官方建议使用Android Studio和VS Code之一的编辑器以获得更好的开发体验。Flutter官方分别提供了这两款编辑器的Flutter插件,通过编辑器集成Flutter插件的方式,可获得代码补全、语法高亮、widget编辑辅助、运行和调试支持等功能,可以帮助我们极大的提高开发效率。

下载AS

AS安装包直接到官网上进行下载即可,官网地址,进入官网后点击“Android Studio”菜单栏,然后看到如下界面,点击“DOWNLOAD ANDROID STUDIO”按钮进行下载。

官网
点击“我已阅读并同意上述条款及条件”,进行打勾;然后点击“下载ANDROID STUDIO FOR WINDOWS”按钮,即可下载:
AS下载

安装AS

AS安装包下载完成后,双击进行安装,安装过程差不多就是点击下一步下一步,读者如果真的不会安装,请参考AS下载安装与配置教程

AS安装完成后打开CMD命令行再运行flutter doctor命令来验证是否安装成功。

安装Android证书

安装好AS后,再次打开CMD命令行,输入flutter doctor命令,这时候的[X]会明显减少,但是读者有可能还会遇到1~2个[X],其中有一个就是提示没有安装Android证书,安装证书需要在CMD命令行中执行以下的命令:

flutter doctor --android-licenses

然后会提示读者选Y/N,不要犹豫,一律选择Y,就可以把证书安装成功。

AS上安装Flutter插件

打开AS客户端,点击File > Settings > Plugins > Browse Repositories > 输入Flutter > Install

Flutter插件
安装完成后,读者需要重新启动一下AS客户端。

AS创建Flutter项目

  1. 点击File > New Flutter Project
  2. 点击Flutter application作为project类型,然后点击Next
  3. 输入项目名称(如 myapp),然后点击Next
  4. 点击Finish
  5. 等待Android Studio安装SDK并创建项目

AS运行Flutter项目

  1. 定位到AS工具栏:
    AS工具栏
  2. 在target selector中,选择一个运行该应用的Android设备。如果没有列出可用,请选择Tools > Android > AVD Manager并创建一个。
  3. 在工具栏中点击Run图标。
  4. 在读者的真机设备或模拟器上将会看到启动的应用程序。
    运行效果

VS Code下载与安装

VS Code是一个轻量级编辑器,支持Flutter运行和调试。

下载VS Code

VS Code安装包直接到官网上进行下载即可,官网地址,进入官网后点击“Download”按钮,然后看到如下界面,点击Windows按钮进行下载:

VS Code下载

安装VS Code

VS Code安装包下载完成后,双击进行安装,安装过程差不多就是点击下一步下一步。

VS Code上安装Flutter插件

  1. 启动VS Code客户端
  2. 点击View > Command Palette...
  3. 输入install,然后选择Extensions:Install Extensions
  4. 在输入框中输入Flutter,在搜索结果列表中选择Flutter,然后点击Install
  5. 选择OK,重新启动VS Code
  6. 验证配置
    • 点击View > Command Palette...
    • 输入doctor,然后选择Flutter:Run Flutter Doctor
    • 查看OUTPUT窗口中的输出内容是否有问题

VS Code创建Flutter项目

  1. 启动VS Code客户端
  2. 点击View > Command Palette...
  3. 在输入框中输入Flutter,在搜索结果列表中选择Flutter:New Project
  4. 输入Project名称(如myapp), 然后按回车键
  5. 指定放置项目的位置,然后按蓝色的确定按钮
  6. 等待项目的创建,并显示main.dart文件

VS Code运行Flutter项目

打开TERMINAL窗口,运行flutter run命令,如图所示:

TERMINAL窗口
按回车键,等待编译运行,运行成功后应该在读者的真机设备或模拟器上将会看到启动的应用程序。

Flutter开发环境搭建(MacOS版)

系统要求

要想在MacOS上成功安装并运行Flutter,读者的系统开发环境必须满足以下最低要求:

  • 操作系统:MacOS的64位(64-bit)操作系统
  • 磁盘空间:大于700MB(不包括Xcode或Android Studio的磁盘空间,如果包括的话,最好大于3GB)
  • 工具:Flutter依赖bash、mkdir、rm、git、curl、unzip、which这些命令行工具

获取Flutter SDK

  1. 读者前往Flutter官网下载其最新可用的安装包,官网下载地址(地址如失效,请速速联系笔者)
    MacOS-Flutter SDK
    注意:Flutter的渠道版本会不停的变动,请以Flutter官网为准;另外,读者也可以去Github Flutter项目中去下载安装包,下载地址
  2. 下载完成后将其安装包解压到读者想要解压的目录下,如:
cd ~/development
unzip ~/Downloads/flutter_macos_v0.5.1-beta.zip

配置环境变量

将Flutter添加到PATH中,读者可以在任何终端会话工具中运行flutter命令。

  1. 打开终端会话工具,使用vim进行配置环境变量,命令如下:
vim ~/.bash_profile
  1. bash_profile文件里,添加以下路径:
export PATH=~/development/flutter/bin:$PATH

注意:以上路径要根据读者将压缩包解压到的实际目录来进行编写,当然读者也可以和笔者一样,将压缩包解压至根目录下的development文件夹下。

  1. 配置完成后,需要用source命令重新加载一下,具体命令如下:
source ~/.bash_profile

注意: 如果读者使用的终端是Zsh,终端启动时~/.bash_profile将不会被加载,解决办法就是修改~/.zshrc,在其中添加:source ~/.bash_profile

  1. 检测环境变量配置是否成功
flutter -h

如下图所示,说明环境变量配置成功。

配置成功

配置镜像

由于在国内访问Flutter有时可能会受到限制,Flutter官方为中国开发者搭建了临时镜像,读者需要在环境变量中配置镜像服务器地址:

  1. 打开终端会话工具,使用vim进行配置环境变量,命令如下:
vim ~/.bash_profile
  1. 在bash_profile文件里,添加以下路径:
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
  1. 配置完成后,需要用source命令重新加载一下,具体命令如下:
source ~/.bash_profile

注意: 如果读者使用的终端是Zsh,终端启动时~/.bash_profile将不会被加载,解决办法就是修改~/.zshrc,在其中添加:source ~/.bash_profile

说明:此镜像为临时镜像,并不能保证一直可用,读者可以参考 flutter.io/community/c… 以获得有关镜像服务器的最新动态。

Xcode下载与安装

读者如果想要在iOS设备上构建并运行Flutter应用程序,那么就需要下载安装Xcode9.0或更高版本。

  1. 下载安装Xcode9.0或更新版本(通过链接下载苹果应用商店);
  2. 配置Xcode命令行工具以使用新安装的Xcode版本;
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer

对于大多数情况,当读者想要使用最新版本的Xcode时,这是正确的路径,但如果读者需要使用不同的版本,请指定相应路径。

  1. 确保打开Xcode时同意了Xcode许可协议或者通过命令sudo xcodebuild -license同意了Xcode许可协议。

Android Studio下载与安装

读者如果想要在Android设备上构建并运行Flutter应用程序,那么就需要下载安装Android Studio(简称AS)。

下载AS

AS安装包直接到官网上进行下载即可,官网地址,进入官网后点击“Android Studio”菜单栏,然后看到如下界面,点击“DOWNLOAD ANDROID STUDIO”按钮进行下载。

官方网站
点击“我已阅读并同意上述条款及条件”,进行打勾;然后点击“下载ANDROID STUDIO FOR MAC”按钮,即可下载:
AS下载

安装AS

AS安装包下载完成后,使用MacOS独特的安装方法,拖拽即可安装成功。

AS安装完成后打开终端工具运行flutter doctor命令来验证是否安装成功。

安装Android证书

安装好AS后,再次打开终端工具,输入flutter doctor,这时候的[X]会明显减少,但是读者有可能还会遇到1~2个[X],其中有一个就是提示没有安装Android证书,安装证书只要在终端工具中执行以下的命令。

flutter doctor --android-licenses

然后会提示读者选Y/N,不要犹豫,一律选择Y,就可以把证书安装成功。

AS上安装Flutter插件

打开AS客户端,点击Preferences > Plugins > Browse Repositories > 输入Flutter > Install

MacOS-Flutter插件
安装完成后,读者需要重新启动一下AS客户端。

AS创建Flutter项目

  1. 点击File > New Flutter Project
  2. 点击Flutter application作为project类型,然后点击Next
  3. 输入项目名称(如 myapp),然后点击Next
  4. 点击Finish
  5. 等待Android Studio安装SDK并创建项目

AS运行Flutter项目

  1. 定位到AS工具栏:
    AS工具栏
  2. 在target selector中,选择一个运行该应用的Android设备。如果没有列出可用,请选择Tools > Android > AVD Manager并创建一个。
  3. 在工具栏中点击Run图标。
  4. 在读者的真机设备或模拟器上将会看到启动的应用程序。
    运行效果

VS Code下载与安装

VS Code是一个轻量级编辑器,支持Flutter运行和调试。

下载VS Code

VS Code安装包直接到官网上进行下载即可,官网地址,进入官网后点击“Download”按钮,然后看到如下界面,点击Mac按钮进行下载:

MacOS-VSCode

安装VS Code

VS Code安装包下载完成后,使用MacOS独特的安装方法,拖拽即可安装成功。

VS Code上安装Flutter插件

  1. 启动VS Code客户端
  2. 点击View > Command Palette...
  3. 输入install,然后选择Extensions:Install Extensions
  4. 在输入框中输入Flutter,在搜索结果列表中选择Flutter,然后点击Install
  5. 选择OK,重新启动VS Code
  6. 验证配置
    • 点击View > Command Palette...
    • 输入doctor,然后选择Flutter:Run Flutter Doctor
    • 查看OUTPUT窗口中的输出内容是否有问题

VS Code创建Flutter项目

  1. 启动VS Code客户端
  2. 点击View > Command Palette...
  3. 在输入框中输入Flutter,在搜索结果列表中选择Flutter:New Project
  4. 输入Project名称(如myapp), 然后按回车键
  5. 指定放置项目的位置,然后按蓝色的确定按钮
  6. 等待项目的创建,并显示main.dart文件

VS Code运行Flutter项目

打开TERMINAL窗口,运行flutter run命令,如图所示:

TERMINAL窗口
按回车键,等待编译运行,运行成功后应该在读者的真机设备或模拟器上将会看到启动的应用程序。

安装其他软件

读者再次使用终端运行flutter doctor进行检测,如出现以下内容:

  To install, run:
    brew install --HEAD libimobiledevice
    brew install ideviceinstaller
✗ ios-deploy not installed. To install:
    brew install ios-deploy
✗ CocoaPods not installed.
    CocoaPods is used to retrieve the iOS platform side's plugin code that responds to your plugin usage on the Dart side.
    Without resolving iOS dependencies with CocoaPods, plugins will not work on iOS.
    For more info, see https://flutter.io/platform-plugins
  To install:
    brew install cocoapods
    pod setup

大概意思就是需要安装这些软件,而且Flutter推荐使用brew命令进行安装,因此读者可以直接在终端工具里输入下列命令:

brew install --HEAD libimobiledevice
brew install ideviceinstaller
brew install ios-deploy
brew install cocoapods
pod setup

每输完一个命令都要等待一会儿,等待软件包安装成功!

连接设备运行Flutter应用

Windows下只支持Android设备构建并运行Flutter应用,而MacOS则同时支持iOS和Android设备。下面分别介绍如何连接Android和iOS设备来运行Flutter应用。

连接Android模拟器

读者如果需要在Android模拟器上运行并测试Flutter应用,请按照以下步骤操作:

  1. 启动Android Studio > Tools > Android > AVD Manager并选择Create Virtual Device
  2. 选择一个设备并点击Next
  3. 选择一个或多个系统映像(建议使用 x86 或 x86_64 image),然后点击Next
  4. 在“Emulated Performance”下,选择Hardware - GLES 2.0以启用硬件加速
  5. 验证AVD配置是否正确,然后点击Finish。有关上述步骤的详细信息,请参阅Managing AVDs
  6. Android Studio:在“Android Virtual Device Manager”中,点击工具栏的Run图标,在模拟器上将会看到启动的应用程序。
  7. VS Code:打开TERMINAL窗口,运行flutter run命令,在模拟器上将会看到启动的应用程序。

连接Android真机设备

读者如果需要在Android真机设备上运行并测试Flutter应用,需要Android 4.1(API level 16)或更高版本的Android真机设备。

  1. 在Android真机设备上启用开发人员选项USB调试。详细说明可在Android官方文档中找到。
  2. 使用USB将手机插入电脑。如果设备出现调试授权提示,请授权你的电脑可以访问该设备。
  3. 在编辑器中,打开TERMINAL窗口,运行flutter device命令,以验证编辑器识别读者连接的Android真机设备。
  4. Android Studio:在“Android Virtual Device Manager”中,点击工具栏的Run图标,在Android真机上将会看到启动的应用程序。
  5. VS Code:打开TERMINAL窗口,运行flutter run命令,在Android真机上将会看到启动的应用程序。

连接iOS模拟器

读者如果需要在iOS模拟器上运行并测试Flutter应用,请按照以下步骤操作:

  1. 在你的MacOS上,通过 Spotlight 或以下命令找到模拟器:
open -a Simulator
  1. 通过检查模拟器Hardware > Device菜单中的设置,确保模拟器正在使用64位设备(iPhone 5s或更高版本)。
  2. 根据读者电脑屏幕大小,模拟高清屏iOS设备可能会溢出屏幕。可以在模拟器的Window> Scale菜单下设置设备比例。
  3. 在编辑器上运行flutter run命令来启动Flutter应用程序。

连接iOS真机设备

读者要想将Flutter应用安装到iOS真机设备,需要一些额外的工具和一个Apple帐户,还需要在Xcode中进行一些设置。

  1. 安装homebrew(如果已经安装了brew,跳过此步骤)。
  2. 打开终端并运行如下这些命令:
brew update
brew install --HEAD libimobiledevice
brew install ideviceinstaller ios-deploy cocoapods
pod setup

每输完一个命令都要等待一会儿,等待成功!如果这些命令中的任何一个失败并出现错误,请运行brew doctor命令并按照说明解决问题。

  1. 遵循Xcode签名流程来配置读者的项目:
    • 在读者的Flutter项目目录中通过open ios/Runner.xcworkspace打开默认的Xcode workspace。
    • 在Xcode中,选择导航面板左侧中的Runner项目。
    • Runnertarget设置页面中,确保在General > Signing > Team下选择了开发团队。当选择一个团队时,Xcode会创建并下载开发证书,向设备中注册帐户,并创建和下载配置文件(如果需要)。
    • 开发第一个iOS开发项目,可能需要使用Apple ID登录Xcode。
      登录Xcode
      任何Apple ID都支持开发和测试,但若想将应用分发到App Store,就必须注册Apple开发者计划,有关详情读者可以自行了解。
    • 当第一次attach真机设备进行iOS开发时,需要同时信任Mac和该设备上的开发证书。首次将iOS设备连接到MacOS时,请在对话框中选择Trust
      Trust
      然后,转到iOS设备上的设置菜单,选择常规>设备管理并信任读者的证书。
    • 如果Xcode中的自动签名失败,请验证项目的General > Identity > Bundle Identifier值是否唯一。
      Bundle Identifier
    • 在编辑器上运行flutter run命令来启动Flutter应用程序。

Flutter SDK升级

升级Flutter SDK和依赖包

要升级Flutter SDK,只需一行命令:

flutter upgrade

该命令会同时更新Flutter SDK和读者的Flutter项目依赖包,如果只想要更新项目依赖包(不包括Flutter SDK),可以使用如下命令:

  • flutter packages get获取项目所有的依赖包
  • flutter packages upgrade获取项目所有依赖包的最新版本

Flutter SDK分支

Flutter SDK有多个分支,如beta、dev、master、stable,其中stable分支为稳定分支(日后有新的稳定版本发布后可能也会有新的稳定分支,如1.0.0),dev和master为开发分支,安装Flutter后,读者可以运行flutter channel查看所有分支,如笔者本地运行后,结果如下:

Flutter channels:
  beta
  dev
* master

带"*"号的分支即读者本地的Flutter SDK跟踪的分支,要切换分支,可以使用flutter channel betaflutter channel master,Flutter官方建议跟踪稳定分支,但读者也可以跟踪master分支,这样可以查看最新的变化,但这样稳定性要低的多。

常见配置问题

Error runing Gradle错误解决

在Debug项目的时候,应该最常见的错误就是类似下面这样的错误了。

Launching lib/main.dart on Android SDK built for x86 in debug mode...
Initializing gradle...
Resolving dependencies...
* Error running Gradle:
ProcessException: Process "/Users/rabbit/develop/android/flutter_app/android/gradlew" exited abnormally:
Project evaluation failed including an error in afterEvaluate {}. Run with --stacktrace for details of the afterEvaluate {} error.

FAILURE: Build failed with an exception.

* Where:
Build file '/Users/rabbit/develop/android/flutter_app/android/app/build.gradle' line: 25

* What went wrong:
A problem occurred evaluating project ':app'.
> Could not resolve all files for configuration 'classpath'.
   > Could not find lint-gradle-api.jar (com.android.tools.lint:lint-gradle-api:26.1.2).
     Searched in the following locations:
         https://jcenter.bintray.com/com/android/tools/lint/lint-gradle-api/26.1.2/lint-gradle-api-26.1.2.jar

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 0s
  Command: /Users/rabbit/develop/android/flutter_app/android/gradlew app:properties

Finished with error: Please review your Gradle project setup in the android/ folder.

这个问题的产生的原因,还是中国特有的问题,解决方案是改为阿里的链接。

  1. 修改项目下的android目录下的build.gradle文件,把google()和jcenter()这两行去掉。改为阿里的链接。
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }

全部代码:

buildscript {
    repositories {
        //  google()
        //  jcenter()
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/jcenter' }
        maven { url 'http://maven.aliyun.com/nexus/content/groups/public'}
        }
        dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
    }
}

allprojects {
    repositories {
        // google()
        // jcenter()
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/jcenter' }
        maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
    }
}

rootProject.buildDir = '../build'
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
    project.evaluationDependsOn(':app')
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

注意是有两个部分进行了修改,不要只修改一处。

  1. 修改Flutter SDK包下的flutter.gradle文件,这个目录要根据读者的SDK存放的位置有所变化。比如笔者放在了D盘Flutter目录下,那路径就是这个。
D:\Flutter\flutter\packages\flutter_tools\gradle

打开文件进行修改,修改代码如下(其实也是换成阿里的路径就可以了)。

buildscript {
    repositories {
        //jcenter()
        // maven {
        //     url 'https://dl.google.com/dl/android/maven2'
        // }
        maven{
            url 'https://maven.aliyun.com/repository/jcenter'
        }
        maven{
            url 'http://maven.aliyun.com/nexus/content/groups/public'
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
    }
}

然后再重新Debug一下,就基本可以启动起来。

还有一种错误是说硬件没有启动GPU,需要下载安装一个程序,这个提示的很清楚,不做过多的介绍了。

缺少依赖库问题

错误如下图所示,此时点击超链接即可自动跳转到安装页面:

缺少依赖库
安装之后重新运行即可:
AS安装成功

连接不上Android Repository

这也是最常见的问题之一,当你发现自己无法下载部分依赖的时候,请优先考虑这种情况。进入File -> Settings -> Appearance & Behavior -> System Settings -> Android SDK -> SDK Update Sites列表,可以看到此时的Android Repository无法连接。

解决方法如下:

  1. 进入C:\windows\system32\drivers\etc\
  2. 打开hosts文件
  3. 添加203.208.41.32 dl.google.com即可解决

安卓包配置问题

一般格式为

Could not HEAD **
Could not Get **

如:Android Studio Could not GET gradle-3.2.0.pom,这一类问题是由于无法连接到 Maven 库造成的,解决方法如下:

  1. 进入当前所在项目名/android
  2. 打开build.gradle
  3. 找到下面这一部分,并加上maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
allprojects {
   repositories {
     google()
     jcenter()
     maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } //添加这一句
   }
}
  1. 进入File -> Settings -> Build, Execution, Deployment -> Gradle -> Android Studio中,勾选上Enable embedded Maven repository,重启Android Studio即可解决。

注意:存在这样的一种情况,当读者根据上述步骤设置了之后,依旧无法解决这个问题,并有类似于Could not HEAD maven.aliyun.com的报错信息,请检查C:\Users\{user_name}\.gradle\gradle.properties是否有设置代理,删除后问题即可解决。

Hot Reload 热重载失效问题

在给Terminal之类的终端模拟器设置代理之后,会导致“Hot Reload”重载失效,此时Savecmd-s / ctrl-s)将不会进行热重载,热重载按钮(带有闪电⚡️图标的按钮)也不会显示,将代理移除即可解决。

另外,有些情况下热重载是不生效的,比如修改了main函数、修改了全局静态方法等,读者可以认为“Hot Reload”只会重新构建整个Widget树,如果变动不在构建widget树的过程中,“Hot Reload”就不会起作用。

最后,希望大家都能安装成功,以上只是笔者的安装过程,不敢保证全部正确;不过笔者还是尽量详细的描述了如何在Windows、Mac上搭建Flutter开发环境的过程,希望可以帮助到Flutter的开发者。