# Android Android多渠道打包较容易设置,以下是几个点 * 在android/app/build.gradle中productFlavors部分进行配置 * 在android/app/src下创建渠道文件夹放置渠道资源,目录结构需要与main文件夹中一致 # ios ios多渠道打包设置较为复杂,主要是在xcode中操作,可以参考以下两个网页 * https://readmedium.com/build-flavors-in-flutter-android-and-ios-with-different-firebase-projects-per-flavor-27c5c5dac10b 基本参照这个文章的操作就可以了 * https://docs.flutter.cn/deployment/flavors 官方文档,写的不清晰 * https://www.jianshu.com/p/57f5118ae3fb 修改app名字的参考 ios打包主要需要明确几个概念,Scheme就是flavor,Scheme需要与Build Config结合,所有参数设置都是在Build Config上 ## 大致流程 1. 创建新的Scheme 2. 复制Build Config,根据新创建的Scheme重命名,必须用-进行连接,例如Debug-test 3. 可选,重命名旧的Scheme,重命名旧的Build Config 4. 把新创建的Scheme和新的Build Config关联 5. 修改对应的Build Config的包名、app名字等信息 6. 修改图标资源,修改对应的Build Config的图标引用 7. 使用 flutter run --flavor scheme名字 进行测试 8. 使用 flutter build ipa --flavor scheme名字 进行打包 # 获取当前运行在那个Flavor下 使用appFlavor常量即可获取当前运行在哪个Flavor下,null标识没有Flavor 官方实现 https://api.flutter-io.cn/flutter/services/appFlavor-constant.html