如何为Flutter多Flavor配置Android与iOS平台的差异化启动页?
Flutter多Flavor配置不同启动页(Android + iOS)
完全可以实现,以下是针对两大平台的具体配置步骤:
Android 端配置
准备Flavor专属启动页资源
- 在
android/app/src/下创建对应Flavor的目录(如dev、prod),每个目录内新建res/drawable文件夹,放入该Flavor的启动页背景图(命名统一为launch_background.png)。 - 每个Flavor目录下新增
res/layout/launch_screen.xml,自定义该环境的启动页布局,比如替换背景、添加专属标识等。
- 在
定义Flavor配置
- 打开
android/app/build.gradle,在android代码块中添加Flavor定义:flavorDimensions "environment" productFlavors { dev { dimension "environment" applicationIdSuffix ".dev" } prod { dimension "environment" } } - Android会自动优先加载Flavor目录下的资源,覆盖主目录的默认启动页配置。
- 打开
关联启动页主题
- 在
android/app/src/main/AndroidManifest.xml的<activity>标签中,通过android:theme引用启动页主题。不同Flavor可在各自目录的res/values/styles.xml中定义专属主题,指向对应的启动页布局。
- 在
iOS 端配置
制作Flavor专属启动页Storyboard
- 用Xcode打开
ios/Runner.xcworkspace,为每个Flavor创建独立的启动页文件(如LaunchScreen-Dev.storyboard、LaunchScreen-Prod.storyboard)。 - 为每个Storyboard添加对应Flavor的图片、文字等元素,完成启动页样式定制。
- 用Xcode打开
配置Scheme关联启动页
- 进入Xcode的
Product > Scheme > Manage Schemes,为每个Flavor创建新Scheme(如Runner-Dev、Runner-Prod)。 - 编辑Scheme的
Build配置,在Info标签的Launch Screen File选项中,选择对应Flavor的Storyboard文件。
- 进入Xcode的
验证资源关联
- 在Xcode的
Build Settings中,搜索Asset Catalog Compiler Options,若使用静态图片作为启动页,可为每个Flavor设置专属的Launch Image;若用Storyboard则确保文件引用正确绑定到对应Scheme。
- 在Xcode的
启动验证
- Android:执行命令
flutter run --flavor dev或flutter run --flavor prod,查看对应环境的启动页。 - iOS:在Xcode中选择对应Scheme运行,或用命令
flutter run --flavor dev -t lib/main_dev.dart(若有专属入口文件)验证效果。
内容的提问来源于stack exchange,提问作者1988
相关产品推荐
相关产品推荐

