从0到1在windows上用flutter开发android app(环境准备、创建项目、加速构建)

一、项目环境准备

​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 块中仍需要显式配置阿里云镜像。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

monika_yu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值