在 Windows 操作系统上安装和配置 Flutter 开发环境

1.系统配置要求

2.获取 Flutter SDK

  1. 点击下方的安装包,获取 stable 发行通道的 Flutter SDK 最新版本
  2. 将压缩包解压,然后把其中的 flutter 目录整个放在你想放置 Flutter SDK 的路径中(例如 C:\src\flutter)。
  3. 添加 flutter 到 Windows 环境变量
  4. 1. 右击 桌面 [此电脑]->[高级系统设置]->[环境变量]->[系统变量]->[Path]->[新建]
    (例如 C:\src\flutter\bin)

    2.右击 桌面 [此电脑]->[高级系统设置]->[环境变量]->[系统变量]->[新建]
    PUB_HOSTED_URL https://mirrors.cloud.tencent.com/dart-pub
    FLUTTER_STORAGE_BASE_URL https://mirrors.cloud.tencent.com/flutter

  5. 运行 flutter doctor
  6. $ flutter doctor

3.设置 Android 开发环境

  1. 下载安装 Android Studio
  2. 国内镜像下载 Android Studio 速度快: https://developer.android.google.cn/studio/
  3. 添加 Android 到 Windows 环境变量
  4. 右击 桌面 [此电脑]->[高级系统设置]->[环境变量]->[系统变量]->[Path]->[新建]
    (例如 C:\Users\用户名\AppData\Local\Android\Sdk\platform-tools)
  5. 配置 Android 设备
    1. 在 Android 设备上运行或测试 Flutter 应用之前,你需要一个运行 Android 6.0(API 级别 23)或者更高的设备。
    2. 在设备上打开 Developer options 和 USB debugging 选项,你可以在 Android documentation 上查看更详细的方法介绍。
    3. 如果是在 Windows 平台上使用,需要安装 Google USB Driver
    4. 通过 USB 接口连接手机和电脑,如果在设备上弹出需要授权弹窗,允许授权以便让电脑能够访问你的开发设备。
    5. 在命令行中,使用 flutter devices 命令来确保 Flutter 能够识别出你所连接的 Android 设备。
  6. 配置 Android 模拟器
    1. 激活机器上的 VM acceleration 选项。
    2. 打开 Android Studio,点击 AVD Manager 按钮,选择 Create Virtual Device…
    3. 在一些旧的 Android Studio 版本里,需要通过 Android Studio > Tools > Android > AVD Manager,然后选择 Create Virtual Device… 选项。(只有在 Android 项目中才会显示 Android 子选项。)
    4. 如果你以及还没打开某个项目,你可以选择 Configure > AVD Manager 然后选择 Create Virtual Device 选项
    5. 选择相应的设备并选择 Next 选项。
    6. 选择一个或多个你想要模拟的 Android 版本的系统镜像,然后选择 Next 选项。推荐选择 x86 或者 x86_64 镜像。
    7. 在 Emulated Performance 下选择 Hardware - GLES 2.0 选项来开启 硬件加速
    8. 确保 AVD 选项配置正确,并选择 Finish 选项。 想要查看上述步骤的更多详细信息,请查看 Managing AVDs 页面。
    9. 在 Android Virtual Device Manager 中,点击工具栏中的 Run 选项,模拟器会启动并为你所选择的系统版本和设备显示出相应的界面。
  7. 同意 Android 协议
  8. $ flutter doctor --android-licenses
  9. 创建 Flutter 项目
  10. $ flutter create NAME//全平台项目
    或者
    $ flutter create --platforms=ios,android NAME//指定ios,android. 可选参数(ios,android,windows,linux,macos,web)
    再或者
    $ flutter create --platforms=ios,android --org com.example NAME //指定 com.example 包名

4.Flutter编译慢问题

    修改flutter gradle镜像源为国内的
    4.1: [项目路径]\android\build.gradle
    allprojects {
        repositories {
            maven { url 'https://maven.aliyun.com/repository/public/' }
            maven { url 'https://maven.aliyun.com/repository/google/' }
            maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
            maven { url 'https://mirrors.cloud.tencent.com/nexus/repository/maven-public/'}
            maven { url 'https://mirrors.huaweicloud.com/repository/maven/'}
            maven { url 'https://mirrors.163.com/maven/repository/maven-public/'}
            google()
            mavenCentral()
        }
    }
    
    4.2: [项目路径]\android\settings.gradle
        repositories {
            maven { url 'https://maven.aliyun.com/repository/public/' }
            maven { url 'https://maven.aliyun.com/repository/google/' }
            maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
            maven { url 'https://mirrors.cloud.tencent.com/nexus/repository/maven-public/'}
            maven { url 'https://mirrors.huaweicloud.com/repository/maven/'}
            maven { url 'https://mirrors.163.com/maven/repository/maven-public/'}
            google()
            mavenCentral()
            gradlePluginPortal()
        }
    
    4.3: [项目路径]\android\gradle\wrapper\gradle-wrapper.properties
    删除: distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-all.zip
    改成: distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-7.6.3-all.zip
          
    4.4: gradle 配置国内镜像: C:\Users\[用户]\.gradle\init.gradle  没有init.gradle文件,可直接创建
    allprojects {
        repositories {
            mavenLocal()
            maven { url 'https://maven.aliyun.com/repository/public' }
            maven { url 'https://maven.aliyun.com/repository/google' }
            maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
            maven { url 'https://mirrors.cloud.tencent.com/nexus/repository/maven-public/'}
            maven { url 'https://mirrors.huaweicloud.com/repository/maven/'}
            maven { url 'https://mirrors.163.com/maven/repository/maven-public/'}
            mavenCentral()
            google()
        }
    }
          

5.构建和发布为 Android 应用

  1. 创建密钥库
  2. 执行CMD命令: ‪C:\Program Files\Java\jdk-21\bin\keytool.exe
    keytool.exe -genkey -v -keystore [项目]/android/app/myapp-keystore.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias myapp
  3. 从 app 中引用密钥库
  4. 创建一个名为 [project]/android/key.properties 的文件,它包含了密钥库位置的定义:
    storePassword=你的密码
    keyPassword=你的密码
    keyAlias=myapp
    storeFile=myapp-keystore.jks
  5. 在 gradle 中配置签名
  6. 3.1. 在以 release 模式下构建你的应用时,修改 [project]/android/app/build.gradle 文件,以通过 gradle 配置你的上传密钥。 //第28行左右
    def keystoreProperties = new Properties()
    def keystorePropertiesFile = rootProject.file('key.properties')
    if (keystorePropertiesFile.exists()) {
        keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
    }
    android {
        ...
    }
            
    3.2. 找到 buildTypes 代码块: //第63行左右
    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now,
            // so `flutter run --release` works.
            signingConfig signingConfigs.debug
        }
    }
              
    3.3. 将其替换为我们的配置内容:
    signingConfigs {
        release {
          keyAlias keystoreProperties['keyAlias']
          keyPassword keystoreProperties['keyPassword']
          storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
          storePassword keystoreProperties['storePassword']
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
    }
              

6.执行编译

输出路径: [项目]\build\app\outputs\flutter-apk\app-release.apk
执行命令:
flutter build apk