Flutter 开发环境搭建

800 阅读1分钟

在 Ubuntu 22.04.4 LTS 下搭建 Flutter 开发环境

下载/安装软件包

Flutter SDK、Android Studio、Android SDK、Chrome 是手动下载的,为了方便管理,在 主目录 下新建 opt 目录,Flutter SDK、Android Studio、Android SDK 解压后就放在这个目录下。

配置环境变量

编辑 ~/.profile,追加如下内容

#set user environment
JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
ANDROID_HOME=~/opt/android-sdk
STUDIO_HOME=~/opt/android-studio
FLUTTER_HOME=~/opt/flutter
export CLASSPATH=.:$JAVA_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$ANDROID_HOME/platform-tools:$STUDIO_HOME/bin:$FLUTTER_HOME/bin:$PATH

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

运行 source ~/.profile 使环境变量生效

检测 Flutter 开发环境

运行 flutter doctor,根据提示运行相应的命令即可。

碰到的问题

[x] Linux toolchain - develop for Linux desktop
✗ GTK 3.0 development libraries are required for Linux development.
They are likely available from your distribution (e.g.: apt install libgtk-3-dev)

使用 sudo apt install libgtk-3-dev 并不能安装,后在 此处 找到了解决办法:

  1. 查看 Ubuntu 版本代号:lsb_release -a。Ubuntu 22.04 的代号为 jammy

  2. 修改文中的源,将 focal 字符串替换为 jammy

    deb http://mirrors.163.com/ubuntu/ jammymain restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ jammy-security main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ jammy-updates main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ jammy-proposed main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ jammy-backports main restricted universe multiverse
    deb-src http://mirrors.163.com/ubuntu/ jammymain restricted universe multiverse
    deb-src http://mirrors.163.com/ubuntu/ jammy-security main restricted universe multiverse
    deb-src http://mirrors.163.com/ubuntu/ jammy-updates main restricted universe multiverse
    deb-src http://mirrors.163.com/ubuntu/ jammy-proposed main restricted universe multiverse
    deb-src http://mirrors.163.com/ubuntu/ jammy-backports main restricted universe multiverse
    
  3. 将修改后的内容追加到 /etc/apt/sources.list

  4. 更新软件 sudo apt update 后,再次安装 libgtk-3-dev