一、核心鏡像替換(針對 Maven 倉庫)
Flutter 依賴的 Google Maven 倉庫(https://maven.google.com 或 https://dl.google.com/dl/android/maven2)可替換為國內鏡像,常見的有:
阿里云鏡像(推薦)
將 Google 倉庫替換為:
https://maven.aliyun.com/repository/google
華為云鏡像
替換為:
https://repo.huaweicloud.com/repository/maven/
二、具體配置方法
1. 全局 Gradle 配置(推薦,影響所有項目)
修改 Gradle 全局配置文件,讓所有 Flutter/Android 項目默認使用鏡像:
Windows:C:\Users\<你的用戶名>\.gradle\gradle.properties
Mac/Linux:~/.gradle/gradle.properties
在文件中添加以下內容(配置代理和鏡像):
# 阿里云鏡像配置
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'https://maven.aliyun.com/nexus/content/groups/public' }
maven { url 'https://maven.aliyun.com/repository/public/' }# 若需要代理(可選)
systemProp.http.proxyHost=127.0.0.1
systemProp.http.proxyPort=你的代理端口
systemProp.https.proxyHost=127.0.0.1
systemProp.https.proxyPort=你的代理端口
2. 項目級配置(僅當前項目生效)
如果只想針對單個 Flutter 項目修改,需編輯項目中的 Gradle 配置:
打開 Flutter 項目目錄下的 android/build.gradle 文件。
找到 allprojects 塊中的 repositories,替換 Google 倉庫地址:
allprojects {
repositories {
// 替換原 Google 倉庫
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
mavenCentral()
// 保留其他必要倉庫(如本地倉庫)
maven { url "$flutterRoot/packages/flutter_tools/gradle/maven_repo" }
jcenter() { url "https://maven.aliyun.com/repository/jcenter" }
}
}
AI寫代碼
3. Flutter 引擎鏡像(針對 flutter doctor 檢查的引擎資源)
若 flutter doctor 卡在下載 Flutter 引擎(如 https://storage.googleapis.com/ 相關資源),可配置 Flutter 鏡像源:
臨時生效(每次終端執行):
# 阿里云 Flutter 鏡像
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
export PUB_HOSTED_URL=https://pub.flutter-io.cn永久生效(推薦):Windows:在 “環境變量” 中添加上述兩個變量(值同上)。Mac/Linux:編輯 ~/.bash_profile 或 ~/.zshrc,添加上述兩行,然后執行 source ~/.bash_profile(或對應配置文件)生效。
三、驗證配置是否生效
執行 flutter clean 清除緩存。
重新運行 flutter doctor,觀察是否仍有 Google API 相關錯誤。
若涉及項目依賴下載,可執行 flutter pub get 或 cd android && ./gradlew clean(Mac/Linux)/ gradlew clean(Windows)測試。
四、注意事項
鏡像源可能存在同步延遲,若某鏡像失效,可嘗試切換其他鏡像(如華為云、騰訊云鏡像)。
部分特殊依賴(如 Google Play 服務相關)可能必須訪問官方倉庫,此時需配合合規代理使用。
配置后若出現依賴沖突,可刪除項目的 android/.gradle 緩存目錄后重試。
通過以上配置,大部分 flutter doctor 中的 Google API 訪問問題均可解決。