大家好, 我需要一些有关颤振中多环境的帮助。
预期结果:
很简单,对吧? )不!
我尝试过的:
ENFILE=.env.dev flutter run ...
,因此通过这种方法,你会失去在 android studio 中运行 Flutter 控制台的优势,并且 flutter 应用程序不会自动重新运行--dart-define=
方法 - 长行运行命令,难以阅读,难以更改,flutter run
和flutter build
看起来我错过了一些东西,我来自react-native ant,所有这些问题都由
react-native-config
和package.json
中的命令解决,但在flutter中我没有看到像包json中那样的预定义命令的方法(仅 Run/Debug Configurations
)。但是 flutter run 不支持 env 文件,而只支持 sh 脚本可以使用 ENFILE 运行,但它们不会触发 flutter run 控制台。
我将感谢您的帮助))
使用 android 运行配置的可能解决方案。
接下来是架构:
此模式满足除“可以从 Xcode 运行”之外的所有要求。一般来说,仍然可以从 Xcode 运行项目,但要将 Xcode 内的配置更改为其他环境,仍然需要从 android 运行配置运行项目。
还有更多信息和代码示例:
是的,你确实错过了 flutter 1.17 之前的一些东西,你可以使用编译时变量,即通过
--dart-define=
$ flutter run --dart-define=SOME_VAR=SOME_VALUE --dart-define=OTHER_VAR=OTHER_VALUE
class EnvironmentConfig {
static const SOME_VAR = String.fromEnvironment('SOME_VAR');
static const OTHER_VAR = String.fromEnvironment('OTHER_VAR');
}
请注意,任何带有 URL 的内容都与 Android 和 ios 不同,并且在 ios 上你有更多的限制来让它完全正确。
后续参考文献是: