flutter环境搭建

mac环境下

安装

  1. 在官网下载源码压缩包: https://flutter.dev/docs/get-started/install/macos
  2. 解压缩到自定义目录下
    $ cd ~
    $ mkdir flutter_development
    $ cd flutter_development
    $ unzip ~/Downloads/flutter_macos_2.2.3-stable.zip
    
  3. 更新环境变量 在~/.zshrc添加这一行:
    export PATH=~/flutter_dev/flutter/bin:$PATH
    

    将flutter的可执行文件路径添加到PATH环境变量里, 永久生效
    注: 只在命令行执行这一行代码只能在当前窗口生效
    添加之后执行: source ~/.zshrc就可以运行flutter的相关命令了

检查依赖

flutter需要有相关依赖, flutter提供了命令来检查依赖是否安装齐全:

$ flutter doctor

按照提示去执行相关安装即可, 比如android studio
下面列出我遇到的坑:

提示Unable to find bundled Java version

参考https://stackoverflow.com/questions/68569430/flutter-unable-to-find-bundled-java-versionflutter-doctor-after-updated-andro第二个答案

  1. 创建软链接

     $ cd /Applications/Android\ Studio.app/Contents/jre
     $ ln -s ../jre jdk
    
  2. 设置java环境变量
    将下面这一行代码添加到~/.zshrc里:
     export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home"
    
  3. 在android studio里安装command-line tool
    1. Open Tools > SDK Manager
    2. From the left choose, Appearance & Behavior > System Settings > Android SDK
    3. Select SDK Tools from the top menu
    4. Check Android SDK Command-line tools and click ‘apply’.
  4. 最后再执行flutter doctor看是否解决

编辑器

我使用的是vscode, 安装flutter插件即可
安装之后就可以command + shift + p找到flutter: new application project自动生成项目文件

设备

可以采用虚拟机, 具体步骤参见: https://book.flutterchina.club/chapter1/install_flutter.html#_1-3-3-%E8%BF%9E%E6%8E%A5%E8%AE%BE%E5%A4%87%E8%BF%90%E8%A1%8Cflutter%E5%BA%94%E7%94%A8
我启动的是安卓虚拟机
怎么让项目和设备连接上呢, 在vscode里点击调试, 正常情况下这个虚拟机就会启动项目应用
我遇到了报错的情况: run a problem occurred configuring root project ‘android’
原因可能是因为我启动的虚拟机是google Pixel, 没有权限, 我们修改项目文件android/build.gradle, 在这里加上mavenLocal()和mavenCentral():

allprojects {
    repositories {
        google()
        jcenter()
        mavenLocal()
        mavenCentral()
    }
}

重新启动调试, 虚拟机就启动了项目应用
我们修改代码保存后, 虚拟机里的应用直接就生效了, 神奇

参考资料

https://flutter.dev/docs/get-started/install/macos
https://book.flutterchina.club/chapter1/install_flutter.html#_1-3-1-%E5%AE%89%E8%A3%85flutter
https://stackoverflow.com/questions/68569430/flutter-unable-to-find-bundled-java-versionflutter-doctor-after-updated-andro