在统信UOS ARM64系统上安装Flutter需严格满足硬件与环境要求:1. uname -m必须输出aarch64;2. 内存≥7.5GB;3. UOS版本≥20(内核≥5.10);4. 手动安装ARM64版OpenJDK 17并配置JAVA_HOME;5. 使用CFUG社区提供的ARM64 Flutter SDK;6. 安装Android SDK cmdline-tools ARM64版并正确配置ANDROID_HOME与PATH;7. 运行sdkmanager --licenses接受许可,最后通过flutter doctor -v验证各组件就绪。

在统信UOS上安装Flutter跨平台开发框架,必须绕过x86生态惯性依赖,专为ARM64架构适配JDK 17、Android SDK与Flutter主程序,否则执行flutter doctor会持续报“no connected devices”或“cmdline-tools missing”错误,导致无法识别模拟器或真机。
确认系统与硬件基础
打开终端执行uname -m,输出必须为【aarch64】;若显示 x86_64,说明当前运行的是x86虚拟层,无法直接部署原生ARM Flutter开发链。
运行free -h检查内存:可用内存低于7.5GB时,Android模拟器将无法启动,建议关闭其他图形应用后再继续。
执行cat /etc/os-version验证UOS版本;必须为20+(内核≥5.10),旧版缺少cgroup v2支持,会导致后续构建失败。
安装OpenJDK 17并设为默认
统信UOS官方源默认只提供OpenJDK 11,而HarmonyOS及新版Android Gradle插件强制要求JDK 17。
执行命令下载ARM64版JDK 17:wget https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.1%2B12/OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.1_12.tar.gz
解压到全局路径:sudo tar -xzf OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.1_12.tar.gz -C /opt/
配置系统级JAVA_HOME:echo 'export JAVA_HOME=/opt/jdk-17.0.1+12' | sudo tee -a /etc/profile.d/java.sh && echo 'export PATH=$JAVA_HOME/bin:$PATH' | sudo tee -a /etc/profile.d/java.sh
重载配置:source /etc/profile.d/java.sh→ 验证:java -version输出应含“17.0.1”且无“not found”提示。
获取ARM64原生Flutter SDK
Flutter官方未发布ARM64 Linux预编译包,必须从社区维护的ARM适配分支拉取源码并本地构建。
方法一:克隆CFUG镜像加速的ARM64专用仓库git clone https://gitee.com/cfug/flutter.git -b stable-arm64 ~/flutter-arm64
方法二:使用已编译好的社区打包版(推荐)
执行:wget https://gitee.com/cfug/flutter/releases/download/stable-arm64-v3.22.3/flutter-linux-arm64-stable.tar.xz→ 解压:tar -xf flutter-linux-arm64-stable.tar.xz -C ~
将Flutter加入PATH:echo 'export PATH="$HOME/flutter/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc
这一步操作起来很简单,直接把文件拖进去就行。但注意:不要解压到含中文或空格的路径,否则flutter命令会找不到bin目录。
安装Android SDK并配置命令行工具
第一步:安装Android SDK基础组件sudo apt install -y android-sdk-platform-tools android-sdk-build-tools-34.0.0
第二步:创建SDK目录并下载cmdline-toolsmkdir -p ~/Android/Sdk/cmdline-tools/latest→ 进入该目录后,手动下载Android SDK Command line Tools的Linux ARM64版压缩包,解压内容到latest/下。
第三步:设置环境变量echo 'export ANDROID_HOME=$HOME/Android/Sdk' >> ~/.bashrcecho 'export PATH=$ANDROID_HOME/platform-tools:$PATH' >> ~/.bashrcecho 'export PATH=$ANDROID_HOME/cmdline-tools/latest:$PATH' >> ~/.bashrcsource ~/.bashrc
第四步:接受所有Android许可证yes | sdkmanager --licenses→ 若卡住,可先运行sdkmanager --list_installed确认cmdline-tools是否就位。
关键前提:【必须确保sdkmanager能执行,否则flutter doctor会报“cmdline-tools missing”且无法自动修复】
验证与初始化Flutter环境
执行flutter doctor -v,观察输出:
若出现“Android toolchain”下红字提示“Missing ‘Android SDK Platform-Tools’”,说明platform-tools未加入PATH,需回溯第四步检查路径拼写。
若显示“Android SDK file not found”,则确认$ANDROID_HOME指向的目录中是否存在platforms/android-34子目录,缺失则运行:sdkmanager "platforms;android-34"
最后运行flutter create myapp && cd myapp && flutter run -d chrome,看到浏览器弹出Flutter欢迎页即表示Web端通路就绪。











