如何在App Center构建APK时从其中读取环境变量到Flutter?
在App Center配置Flutter环境变量(空安全友好方案)
一、在App Center中添加环境变量
- 打开你的App Center项目,进入Build页面,点击当前的Android构建配置
- 找到Environment Variables板块,添加键值对:
base_url=www.example.com,保存配置
二、Flutter代码中读取变量的两种方案
方案1:使用--dart-define编译时注入(官方原生支持,无需额外包)
- 回到App Center的Build配置,在Build Arguments(Flutter构建参数)中添加:
这里的--dart-define=base_url=$base_url$base_url会自动引用你在App Center配置的环境变量值 - 在Flutter代码中通过以下方式读取(必须用
const,因为是编译时注入):
之后直接使用const String baseUrl = String.fromEnvironment('base_url');baseUrl即可
方案2:生成.env文件配合flutter_dotenv包(适合多变量场景)
- 在App Center的Pre-build script中添加命令,自动生成
.env文件:echo "BASE_URL=$base_url" > .env - 在Flutter项目的
pubspec.yaml中添加支持空安全的依赖:dependencies: flutter_dotenv: ^5.1.0 # 可替换为最新稳定版 - 在
main.dart中初始化:import 'package:flutter_dotenv/flutter_dotenv.dart'; Future<void> main() async { await dotenv.load(fileName: ".env"); runApp(MyApp()); } - 代码中读取变量:
final String baseUrl = dotenv.env['BASE_URL'] ?? '默认值';
三、验证
构建APK后,在应用中打印或使用baseUrl,确认是否正确获取到App Center配置的值
内容的提问来源于stack exchange,提问作者Anwar Sh
相关产品推荐
相关产品推荐

