app-starlock/flavorizr.yaml
2024-05-30 10:10:22 +08:00

107 lines
4.6 KiB
YAML
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 用于编译出不同的APPID
# 生成:意思是将本文件定义的配置,生成对应的代码,或者原生的配置、构建过程、文件资源等
# 风味用法dart run flutter_flavorizr -p <processor_1>,<processor_2>
# 以下行为都是覆盖,所以如果不是很清楚自己在做什么,请不要随意运行,以免覆盖有用的文件
# 安卓图标dart run flutter_flavorizr -p android:icons
# 安卓构建参数集配置dart run flutter_flavorizr -p android:androidManifest
# 安卓构建目标配置dart run flutter_flavorizr -p android:buildGradle
# 用法-生成iOS图标dart run flutter_flavorizr -p ios:icons
# Scheme 定义了构建目标、测试、运行、调试和分析应用程序的方式。它是Xcode中一个关键的组件用于配置不同的构建设置和运行环境。
# 可以有针对不同目的的多个Schemes例如一个用于调试的Scheme、一个用于发布的Scheme以及用于不同测试环境的Scheme。
# 用法 dart run flutter_flavorizr -p ios:schema
# XCConfig文件是Xcode配置文件用于外部化和管理项目的构建设置。通过使用这些文件可以更容易地管理和共享构建配置。
# 可以为不同的构建环境如Debug和Release或不同的应用flavor配置多个XCConfig文件。
# 用法dart run flutter_flavorizr -p ios:xcconfig
# Build Target定义了一个构建过程它描述了如何编译和链接构建应用程序的源代码。每个Target可以有不同的配置和目的例如一个应用程序Target、一个单元测试Target
# 可能包括应用程序本身的Target、测试Target、用于不同flavor的Target或者针对不同平台如iOS和macOS的Target。
# 用法dart run flutter_flavorizr -p ios:buildTargets
# Plist文件用于存储应用程序的配置信息如应用版本号、显示名称等。它是一个XML文件Xcode在构建应用程序时会读取它
# 每个Target通常有自己的Info.plist文件还可能有其他Plist文件来管理不同的配置和设置。
# 用法dart run flutter_flavorizr -p ios:plist
# LaunchScreen启动屏幕是应用启动时显示的界面通常包含应用的Logo和名称。它在应用加载期间显示提供更好的用户体验。
# 可以针对不同的设备和屏幕尺寸配置多个LaunchScreen或者为不同的版本或flavor提供不同的启动屏幕。
# 用法dart run flutter_flavorizr -p ios:launchScreen
# 项目运行说明添加不同风味后不能再使用flutter默认的运行方式`flutter run`,而是需要指定运行的风味
# flutter run --flavor <flavor> -t lib/main_<flavor>.dart
# 注意,这里有 入口文件(main_<flavor>.dart) 和 口味(<flavor>) 两个参数
# 其中入口文件在代码中指定运行时的差异,例如 页面上的名称、颜色、API请求的域名等
# 而 口味 指定 构建差异,例如 APPID、Logo、应用名称等
# 下面是4个运行示例
# flutter run --flavor dev -t lib/main_dev.dart
# flutter run --flavor pre -t lib/main_pre.dart
# flutter run --flavor sky -t lib/main_sky_full.dart
# flutter run --flavor xhj -t lib/main_xhj_full.dart
# 下面是安卓发布编译命令
# flutter build apk --split-per-abi --release --flavor sky -t lib/main_sky_full.dart
# flutter build apk --release --flavor sky -t lib/main_sky_full.dart
# IOS编译发布
# TODO 待补充
app:
android:
flavorDimensions: "flavor-type"
flavors:
local:
app:
name: "星锁-local"
icon: "assets/icon/dev.png"
android:
applicationId: "com.starlock.lock.local"
customConfig:
signingConfig: signingConfigs.pre
ios:
bundleId: "com.starlock.lock.local"
dev:
app:
name: "星锁-dev"
icon: "assets/icon/dev.png"
android:
applicationId: "com.starlock.lock.dev"
customConfig:
signingConfig: signingConfigs.pre
ios:
bundleId: "com.starlock.lock.dev"
pre:
app:
name: "星锁"
icon: "assets/icon/pre.png"
android:
applicationId: "com.starlock.lock.pre"
customConfig:
signingConfig: signingConfigs.pre
ios:
bundleId: "com.starlock.lock.pre"
sky:
app:
name: "锁通通"
icon: "assets/icon/sky.png"
android:
applicationId: "com.skychip.lock"
customConfig:
signingConfig: signingConfigs.sky
ios:
bundleId: "com.skychip.lock"
xhj:
app:
name: "星星锁"
icon: "assets/icon/xhj.png"
android:
applicationId: "com.xhjcn.lock"
customConfig:
signingConfig: signingConfigs.xhj
ios:
bundleId: "com.xhjcn.lock"
ide: idea