You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Flutter中借助Android Studio/Xcode构建多环境应用

多环境Flutter应用配置:关联Flutter代码与原生构建类型

问题背景

需要让Flutter应用适配两个后端环境:

  • DEV环境:后端地址 https://dev.com
  • PRO环境:后端地址 https://pro.com

已在Android Studio配置了 dev/pro 两种构建类型,但不清楚如何将Flutter代码配置与原生构建类型关联,以下是具体实现步骤:


步骤1:Flutter端定义环境配置类

创建全局配置类,根据构建时传入的参数自动返回对应环境的配置:

class EnvConfig {
  final String baseUrl;

  EnvConfig._({required this.baseUrl});

  // 根据构建参数返回当前环境配置
  static EnvConfig get current {
    const isDev = bool.fromEnvironment('IS_DEV', defaultValue: false);
    return isDev 
      ? EnvConfig._(baseUrl: 'https://dev.com') 
      : EnvConfig._(baseUrl: 'https://pro.com');
  }
}

步骤2:关联Android构建类型与Flutter参数

修改Android项目 app/build.gradle 文件,在已配置的buildTypes中添加dart-define参数,绑定原生构建类型与Flutter环境变量:

buildTypes {
    release {
        signingConfig signingConfigs.release
    }
    dev {
        initWith release
        applicationIdSuffix ".dev"
        // 传递DEV环境标识给Flutter
        resValue "string", "flutter_defines", "--dart-define=IS_DEV=true"
    }
    pro {
        initWith release
        // 传递PRO环境标识给Flutter
        resValue "string", "flutter_defines", "--dart-define=IS_DEV=false"
    }
}

配置完成后,在Android Studio的Build Variants中选择dev或pro变体运行/打包时,Flutter会自动获取对应环境参数。

步骤3:iOS端配置(Xcode)

3.1 创建对应Build Configuration

  1. 打开Xcode,选中项目根目录 → 切换到Info标签 → Configurations区域
  2. 点击+号,选择Duplicate "Release" Configuration,分别创建Dev和Pro两种配置
  3. 可在Build Settings中为Dev配置设置Bundle Identifier后缀(如.dev),实现同设备同时安装DEV/PRO包

3.2 绑定Flutter环境参数

  1. 在Xcode中选中项目根目录 → 切换到Build Settings标签 → 点击+号选择Add User-Defined Setting
  2. 创建名为FLUTTER_DEFINE的变量,分别为Dev和Pro配置设置值:
    • Dev配置:IS_DEV=true
    • Pro配置:IS_DEV=false
  3. 或者通过Scheme配置:编辑Scheme → 选择Run/Archive → Arguments → 在Additional arguments to pass to Dart中添加:
    • Dev:--dart-define=IS_DEV=true
    • Pro:--dart-define=IS_DEV=false

步骤4:在Flutter代码中使用环境配置

在网络请求或其他需要后端地址的场景,直接调用全局配置类:

import 'package:dio/dio.dart';

// 初始化网络请求实例
final dio = Dio(BaseOptions(
  baseUrl: EnvConfig.current.baseUrl,
));

步骤5:构建打包

  • Android:在Android Studio的Build Variants中选中目标变体,执行Build → Generate Signed Bundle/APK完成打包
  • iOS:在Xcode的Scheme下拉框中选中目标配置,执行Product → Archive完成打包

内容的提问来源于stack exchange,提问作者Thái Quốc Toản

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 22:29:50