Skip to content

Flutter 升级记录

🕒 Published at:

Flutter 升级记录 ​

日期: 2026-08-11 项目: hello_world (com.example.hello_world) 设备: ZTE ZXHN H108N V9.1 (Android 8.1.0, arm64)


问题背景 ​

项目使用 Flutter 3.29.3 + Dart 3.7.3,依赖中包含 video_player: ^3.0.2,该版本需要 Dart 3.8.2+。导致:

  • VSCode 报红提示版本不兼容
  • flutter pub get 报错
  • 无法编译 APK

升级过程 ​

1. 下载 Flutter 3.44.9 ​

从腾讯镜像下载(速度快,约 3.5MB/s):

bash
curl -L -o /tmp/flutter_3.44.9.tar.xz \
  "https://mirrors.cloud.tencent.com/flutter/flutter_infra_release/releases/stable/linux/flutter_linux_3.44.9-stable.tar.xz"
  • 文件大小: 1.5GB
  • 下载耗时: 约 6 分钟

2. 验证 SHA256 ​

bash
cd /tmp
sha256sum -c - <<< "$(curl -s --max-time 15 \
  'https://mirrors.cloud.tencent.com/flutter/flutter_infra_release/releases/releases_linux.json' | \
  python3 -c "import json,sys; d=json.load(sys.stdin); cur=[r for r in d['releases'] if r['version']=='3.44.9'][0]; print(cur['sha256'], 'flutter_3.44.9.tar.xz')"
)"
# 输出: flutter_3.44.9.tar.xz: 成功

3. 替换旧版本 ​

bash
# 备份旧版(可选)
mv /usr/local/flutter /usr/local/flutter_3.29.3_backup

# 删除旧版
sudo rm -rf /usr/local/flutter

# 解压新版
cd /usr/local
sudo tar -xf /tmp/flutter_3.44.9.tar.xz

# 清理 tar 包
rm -f /tmp/flutter_3.44.9.tar.xz

4. 环境变量 ​

已配置在 ~/.bashrc 中:

bash
export PATH="/usr/local/flutter/bin:$PATH"
export PUB_HOSTED_URL="https://pub.flutter-io.cn"
export FLUTTER_STORAGE_BASE_URL="https://storage.flutter-io.cn"

5. 重新编译 ​

bash
cd ~/AndroidStudioProjects/hello_world

# 清理旧缓存
rm -rf .gradle .dart_tool build

# 获取依赖
flutter pub get

# 编译 release APK
flutter build apk --release

最终结果 ​

  • Flutter: 3.44.9 (stable)
  • Dart: 3.12.2
  • APK: build/app/outputs/flutter-apk/app-release.apk
  • 编译耗时: 约 2 分钟

注意事项 ​

  1. 镜像源: 国内使用腾讯镜像,避免访问 GitHub 超时
  2. 清理缓存: 升级后务必删除 .gradle 和 .dart_tool,否则可能报版本冲突
  3. PATH 顺序: /usr/local/flutter/bin 必须在 PATH 前面,避免被 AndroidStudio 内置的旧版本覆盖
  4. 空间: Flutter SDK 约 1.5GB,解压后约 2.5GB,确保 /usr/local 有足够空间