使用flutter_flavorizr新增Flavor时如何避免覆盖已有配置?
解决flutter_flavorizr新增Flavor时覆盖已有配置的问题
可以避免覆盖已有配置,仅添加新Flavor,核心是通过配置pubspec.yaml中的flutter_flavorizr参数控制工具的覆盖行为,具体方法如下:
全局禁用覆盖
在pubspec.yaml的flutter_flavorizr配置块中,给Android和iOS端分别设置overwrite: false,同时确保配置块里包含所有已有Flavor和新增Flavor的定义。示例配置:flutter_flavorizr: flavors: # 保留已有的Flavor配置 dev: app_name: "MyApp Dev" package_name: "com.example.myapp.dev" # 添加新的Flavor staging: app_name: "MyApp Staging" package_name: "com.example.myapp.staging" android: overwrite: false ios: overwrite: false执行
flutter pub run flutter_flavorizr时,工具会仅新增新Flavor的配置,不会修改已有的Flavor相关代码。针对特定文件控制覆盖
如果需要覆盖部分文件但保留其他配置,可以通过files_to_override指定允许覆盖的文件列表,未列入的文件会保持原有内容。示例:flutter_flavorizr: flavors: dev: app_name: "MyApp Dev" staging: app_name: "MyApp Staging" android: files_to_override: - "app/src/main/AndroidManifest.xml" # 其他Android配置项
另外,执行命令前建议手动备份现有Flavor配置文件,避免意外情况导致配置丢失。
内容的提问来源于stack exchange,提问作者user1741102
相关产品推荐
相关产品推荐

