CentOS 上 Flutter 构建失败的定位与修复指南
一、先快速定位问题
./gradlew assembleDebug --stacktrace 或 flutter build apk --verboseflutter doctor -v 检查环境健康度二、环境与工具链检查
sudo yum -y install gcc gcc-c++ gdb git cmakeexport JAVA_HOME=/usr/local/jdk1.8.0_191export PATH=$JAVA_HOME/bin:$PATHecho 'export PATH=$PATH:/opt/flutter/bin' >> ~/.bashrc && source ~/.bashrcflutter config --android-sdk /opt/android-sdkflutter config --android-ndk /opt/android-sdk/ndk/21.3.6528147export PUB_HOSTED_URL=https://pub.flutter-io.cnexport FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn三、Android 构建失败的高频修复
distributionUrl(如 gradle-7.5-all.zip)。gradlew --version 确认 Gradle 版本。dependencies 中设置与 Gradle 匹配的 AGP,例如:
classpath 'com.android.tools.build:gradle:7.4.2'(示例,需与 Gradle 版本匹配)flutter clean && flutter pub getallprojects.repositories 与 settings.gradle(AGP 7+)中添加 maven { url 'https://maven.aliyun.com/repository/google' }、maven { url 'https://maven.aliyun.com/repository/jcenter' } 等镜像源。flutter config --android-ndk <path> 指定 NDK,且项目 android/app/build.gradle 中的 ndk.abiFilters 与你安装的 NDK 匹配(如 arm64-v8a、armeabi-v7a)。flutter build apk --verbose 或 ./gradlew assembleDebug --stacktrace四、网络与权限导致的构建失败
export PUB_HOSTED_URL=https://pub.flutter-io.cn、export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cnLibreSSL SSL_connect: SSL_ERROR_SYSCALL 等 Git 网络问题:
git config --global --add remote.origin.proxy ""git config --global http.sslBackend "openssl"五、仍无法解决时的稳妥方案
FROM cirrusci/flutter:stableWORKDIR /appCOPY . /appRUN flutter pub getCMD ["flutter", "run", "--release"]docker build -t flutter_app .docker run -d -p 8080:8080 flutter_appflutter build ios 后用 Xcode 完成签名与归档。