# 用于编译出不同的APPID # 生成:意思是将本文件定义的配置,生成对应的代码,或者原生的配置、构建过程、文件资源等 # 风味用法:dart run flutter_flavorizr -p , # 以下行为都是覆盖,所以如果不是很清楚自己在做什么,请不要随意运行,以免覆盖有用的文件 # 安卓图标: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 -t lib/main_.dart # 注意,这里有 入口文件(main_.dart) 和 口味() 两个参数 # 其中入口文件在代码中指定运行时的差异,例如 页面上的名称、颜色、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