flutter多环境配置、构建


本文主要针对纯flutter项目的多环境配置,如果是基于原生项目的多环境需求,可以参考使用 Channelflutter项目初始化的时候向原生代码获取项目的环境信息。
主要有两种方式:换启动文件、使用–dart-define

基于换入口文件方式

我们可以指定不同的启动文件,并在相应的main函数中,指定环境变量。

  1. 新建各环境的启动文件main_dev.dartmain_pro.dart
/// lib/main_dev.dart
void main() {
  // 设置开发环境
  Config.env = Env.DEV;

  runApp(MyApp());
}

/// lib/main_pro.dart
void main() {
  // 设置生产环境
  Config.env = Env.PRO;

  runApp(MyApp());
}
  1. 配置类
enum Env {
  PRO,
  DEV,
}
/// 环境配置类
class Config {
  static Env? env;

  static String get apiHost {
    switch (env) {
      case Env.PRO:
        return "http://pro.com";
      case Env.DEV:
        return "http://develop.com";
      default:
        return "default";
    }
  }
}
  1. 运行
  • 命令行

flutter run -t lib/main_pro.dart

  • AS
    更改Edit Configuration
    在这里插入图片描述

  • VSCode
    新建.vscode/launch.json, 之后在Run and Debug窗口,选择相关配置项运行

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "",
            "request": "launch",
            "type": "dart",
            "args": [
                "-t lib/main_pro.dart",                
            ]
        }
    ]
}
  1. 打包
  • android

flutter build apk -t lib/main_pro.dart
如果打生产包的话,还需要先配置证书

  • ios

第一步:
flutter build ios -t lib/main_pro.dart
第二步:
用XCode打开iOS项目,配置完相关证书,然后打包Product - Archive,选择Distrubiion,打包完毕后,可以通过Window - Devices and Simulta

基于–dart-define实现

用多文件虽然能解决问题,但实现起来不够优雅,Flutter 1.17开始支持使用–dart-define,以键值对的形式传入编译参数

  1. main函数中获取参数
/// lib/mian.dart
void main() {
  const env = String.fromEnvironment("APP_ENV", defaultValue: "DEV");
  Config.env = Config.ConfigFromString(env);
  runApp(MyApp());
}
  1. 运行

flutter run --dart-define=APP_ENV=PRO

也可以传入多个值,将应用名称、版本号直接通过命令行参数,传入方便Jenkins CI

flutter run --dart-define=APP_NAME=test --dart-define=VERSION_CODE=111

  • AS
    同上,更改Edit Configuration
  1. 打包
  • android

先配置证书,然后
flutter build apk --dart-define=APP_ENV=PRO

  • iOS

flutter build ios --dart-define=APP_ENV=PRO
然后同上第二步,打开XCodeArchive

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用VSCode进行安卓开发的前提下,首先需要配置Flutter SDK环境。可以通过在终端视图输入flutter doctor命令来诊断环境是否配置完整。如果提示缺少Flutter命令,则需要重新配置环境变量或重启电脑。 在配置Flutter SDK环境之前,确保已安装好Android Studio并配置正确的环境变量,其包括ANDROID_HOME。如果已经安装了Android Studio,则不需要再手动安装Android SDK,因为Android Studio会自带。 接下来,还需要确保VSCode服务器的内置termux已安装,可以通过打开终端视图并运行pkg install git来安装。 最后,根据个人需要,可以自行构建VSCode Android服务器,通过此存储库进行使用。 总结一下配置安卓开发环境的步骤: 1. 安装并配置Android Studio,并确保环境变量ANDROID_HOME正确配置。 2. 安装VSCode服务器的内置termux,通过终端视图运行pkg install git来安装。 3. 确认Flutter SDK环境配置好,并使用flutter doctor命令诊断环境是否缺少组件。 4. 如果缺少Flutter命令或其他组件,重新配置环境变量或重启电脑。 5. 如果需要,可以自行构建VSCode Android服务器进行使用。 通过以上步骤,您就可以在VSCode配置好安卓开发环境了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [搭建使用VSCode进行Android开发的Flutter环境(windows10+VSCode+Android SDK+Flutter SDK)](https://blog.csdn.net/SVNzK/article/details/84314226)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Android上的VSCode-Android开发](https://download.csdn.net/download/weixin_42120541/19084862)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值