一、项目环境准备
1、设置环境变量
需配置以下两个核心环境变量,以替换官方资源链接为国内镜像:
Windows系统(通过PowerShell或系统属性面板设置)
# 临时生效(当前会话)
$env:PUB_HOSTED_URL = "https://pub.flutter-io.cn"
$env:FLUTTER_STORAGE_BASE_URL = "https://storage.flutter-io.cn"
# 永久生效(需管理员权限)
[System.Environment]::SetEnvironmentVariable('PUB_HOSTED_URL', 'https://pub.flutter-io.cn', 'User')
[System.Environment]::SetEnvironmentVariable('FLUTTER_STORAGE_BASE_URL', 'https://storage.flutter-io.cn', 'User')
macOS/Linux系统(通过终端设置)
# 临时生效
export PUB_HOSTED_URL="https://pub.flutter-io.cn"
export FLUTTER_STORAGE_BASE_URL="https://storage.flutter-io.cn"
# 永久生效(写入~/.bashrc或~/.zshrc)
echo 'export PUB_HOSTED_URL="https://pub.flutter-io.cn"' >> ~/.zshrc
echo 'export FLUTTER_STORAGE_BASE_URL="https://storage.flutter-io.cn"' >> ~/.zshrc
source ~/.zshrc
2、下载Flutter SDK
Flutter SDK版本列表:归档列表 | Flutter 中文文档 - Flutter 中文开发者网站 - Flutter
从Stable channel里面选一个最新的,点击对应版本号下载:
创建一个放Flutter SDK的文件夹,将下载的zip解压到该文件夹,我这里是解压到D:\flutterSDK
你无需单独安装 Dart,因为 Flutter SDK 包含了完整的 Dart SDK。
不要将 Flutter 安装到以下情况的目录或路径中:
路径包含特殊字符或空格。
路径需要较高的权限。
例如,
C:\Program Files
路径就是以上情况。
3、配置PATH环境变量
将Flutter的bin
目录添加到系统PATH中,例如我这里就是将D:\flutterSDK\flutter\bin目录添加到系统PATH中。
4、验证安装
flutter doctor
5、安装Android Studio
根据开发场景判断是否需要安装Android Studio:
场景分类 | 是否需要安装 Android Studio | 关键原因 | 补充说明 |
---|---|---|---|
需开发 Android 应用 | 必须安装 | - 依赖完整 Android SDK 工具链(Gradle、adb 等) - 提供虚拟设备(AVD)管理功能 | 即使使用其他 IDE(如 VS Code),仍需通过 Android Studio 安装 SDK 和平台工具 |
仅开发 iOS 应用 | 无需安装 | - iOS 开发依赖 Xcode 和 iOS 模拟器 - Flutter 可直接调用 macOS 原生工具链 | 需 macOS 系统支持,Xcode 必须安装以获取 iOS SDK |
仅开发 Web/桌面端应用 | 无需安装 | - 依赖浏览器(Web)或平台 IDE(如 Visual Studio) - Flutter 提供独立构建工具链 | Windows 桌面端开发需单独安装 Visual Studio(C++ 依赖库) |
跨平台测试需求 | 建议安装 | - 统一管理 Android 和 iOS 调试环境 - 避免因工具链缺失导致兼容性问题 | 可仅安装 Android SDK Command-Line Tools(不推荐,需手动配置环境变量) |
最小化开发环境 | 可选安装 | - 通过 flutter doctor 安装独立 Android SDK- 需手动配置环境变量和许可协议 |
下载最新版本Android Studio:https://developer.android.com/studio?hl=zh-cn
Android Studio使用入门:https://developer.android.com/studio/intro?hl=zh-cn
完整的配置教程:开发 Android 应用 | Flutter 中文文档 - Flutter 中文开发者网站 - Flutter
在Android Studio中安装flutter插件
File->Settings->Plugins:
二、创建项目
1、创建 Flutter 项目
flutter create demo1
cd demo1
2、用android studio打开刚刚创建的项目,查看项目结构
3、连接设备或模拟器
- 连接物理设备:确保开启 USB 调试模式。
- 使用模拟器:在 Android Studio 中Device Manager中添加虚拟设备并启动。
4、运行app
这里我们直接使用模拟器,启动模拟器后,直接点运行预览:
到此为止,就完成了一个app的创建!但是会发现在构建的时候很慢,参考下面的方法配置国内镜像。
三、配置镜像加速gradle构建
1、插件仓库镜像配置:项目根目录/android/settings.gradle
确保插件仓库使用阿里云镜像:
// settings.gradle
pluginManagement {
repositories {
// 优先使用阿里云镜像
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } // Gradle 插件镜像
maven { url 'https://maven.aliyun.com/repository/google' } // Google 插件镜像
gradlePluginPortal() // 备用(如果阿里云镜像缺失某些插件,回退到官方仓库)
}
}
settings.gradle
是 Gradle 项目的入口文件 ,其中的repositories
专门用于解析 Gradle 插件(如 Android Gradle Plugin、Kotlin 插件等)。这些仓库用于下载 Gradle 构建工具本身需要的插件,而非项目代码依赖的库。
2、项目依赖镜像配置:项目根目录/android/build.gradle
allprojects {
repositories {
maven{url 'https://maven.aliyun.com/repository/google' } // 替代 google()
// maven{url 'https://maven.aliyun.com/repository/gradle-plugin' } // 替代 gradlePluginPortal()
maven{url 'https://maven.aliyun.com/repository/public' } // 替代 mavenCentral()
// JCenter 已完全弃用 public 仓库已覆盖 JCenter
// maven{url 'https://maven.aliyun.com/repository/jcenter' }
google()
mavenCentral() // 备用
}
}
gradle-plugin
镜像仅用于插件下载,与项目代码无关。所以项目依赖镜像不需要配置gradle-plugin。
android/build.gradle
是项目级构建文件,其中的repositories
用于解析项目依赖的代码库(如implementation 'com.android...'
)。
为什么我的build.gradle中没有配置buildscript
?
因为我的项目中直接使用新版 Gradle 的 plugins
语法,Gradle 会自动处理插件依赖,无需手动配置buildscript。例如我的settings.gradle中有配置:
plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version "8.7.0" apply false
id "org.jetbrains.kotlin.android" version "1.8.22" apply false
}
如果通过 plugins
块引入插件,Gradle 会 自动从 settings.gradle
中定义的仓库下载插件,无需手动配置 buildscript
。
3、验证配置是否生效
清理缓存
flutter clean
rm -rf ~/.gradle/caches/ # 清理全局 Gradle 缓存
执行 flutter build apk
,查看控制台输出的依赖下载地址是否包含 maven.aliyun.com。
flutter build apk --verbose # 显示完整的构建日志
4、全局配置加速(可选)
- 配置 gradle.properties 实现全局代理加速:~/.gradle/gradle.properties
强制 Gradle 通过阿里云镜像下载依赖:
org.gradle.daemon=true
org.gradle.parallel=true
systemProp.http.proxyHost=mirrors.aliyun.com
systemProp.http.proxyPort=80
systemProp.https.proxyHost=mirrors.aliyun.com
systemProp.https.proxyPort=80
- 全局替换仓库地址
创建~/ .gradle/ init.gradle,添加以下内容:
// 路径:~/.gradle/init.gradle
// 强制所有 Gradle 项目使用阿里云镜像,避免重复配置
allprojects {
repositories {
// 移除所有默认仓库
all { ArtifactRepository repo ->
if (repo instanceof MavenArtifactRepository) {
remove(repo)
}
}
// 添加镜像
maven { url 'https://maven.aliyun.com/repository/public' }
maven { url 'https://maven.aliyun.com/repository/google' }
// 添加官方源作为备用
mavenCentral() // Maven Central 官方仓库
google() // Google 官方仓库
}
}
init.gradle 是一个初始化脚本,每次 Gradle 构建时自动执行,适用于所有项目。可在其中配置阿里云镜像仓库,避免在每个项目中重复配置,但settings.gradle 的 pluginManagement 块中仍需要显式配置阿里云镜像。