根据风味单独的 pubspec.yaml 文件

问题描述 投票:0回答:2

我有一个应用程序,我应该在其中启动它的两个版本,一个用于中国,一个用于全球 我创建了风味和所有内容,但我的问题是我想根据风味将 pubspec.yaml 文件分成两个文件,因为中国的库与全球的库不同,我不想构建包括所有库的库两个版本

flutter
2个回答
3
投票

这似乎是 Flutter 当前的限制,参见 #46979


0
投票

您可以使用 gradle 脚本来做到这一点

首先在项目配置上你可以配置一个BeforeRunTask

例如(.idea/runConfigurations/Global_prod.xml)

<component name="ProjectRunConfigurationManager">
  <configuration default="false" name="global-prod" type="FlutterRunConfigurationType" factoryName="Flutter" singleton="false">
    <option name="additionalArgs" value="--flavor=globalprod" />
    <option name="buildFlavor" value="globalprod" />
    <method v="2">
      <option name="Gradle.BeforeRunTask" enabled="true" tasks="copyGlobalPubspec" externalProjectPath="$PROJECT_DIR$/android" vmOptions="" scriptParameters="--quiet" />
    </method>
  </configuration>
</component>

然后在林间空地创建一个任务来替换 pub spect

例如:(android/app/build.gradle)

task copyCAPubspec(type: Copy) {
    from('../../app/markets/global/pubspec-global.yaml') {
        rename '.*', 'pubspec.yaml'
    }
    into '../../'

    from('../../app/markets/global/analysis_options_market.yaml')
    into '../../'
}
© www.soinside.com 2019 - 2024. All rights reserved.