返回
多渠道构建Flutter版本,拒绝魔改!
前端
2023-12-13 17:08:50
前言
在Flutter开发项目中,为了满足不同环境的需求,如开发环境、测试环境、生产环境等,通常需要对构建版本进行魔改。但是,这种魔改的方式不仅繁琐,而且容易出错。
因此,本文将介绍一种更加便捷高效的多渠道构建Flutter版本的方法,帮助您快速切换环境,简化打包发布流程,避免魔改和出错。
准备工作
1. 安装Flutter插件
flutter pub add flutter_flavor
2. 添加配置文件
在项目根目录下创建配置文件.flavor
。
dev
test
prod
3. 修改gradle文件
在android目录下的build.gradle
文件中添加如下代码:
def enableFlavor = project.ext.enableFlavor
def flavors = [
dev: {
applicationIdSuffix ".dev"
versionNameSuffix "-dev"
},
test: {
applicationIdSuffix ".test"
versionNameSuffix "-test"
},
prod: {
applicationIdSuffix ""
versionNameSuffix ""
}
]
def generateFlavorTasks = flavors.collect { k, v ->
task("assemble${k.capitalize()}") {
if (enableFlavor) {
configure(v)
}
assembleFlavor(k)
}
}
task assembleFlavor(String flavor) {
if (enableFlavor) {
doLast {
copy {
from "build/app/outputs/flutter-apk/${flavor}/app-armeabi-v7a.apk"
into "build/app/outputs/flutter-apk"
rename { it.replace(".apk", "-${flavor}.apk") }
}
}
}
}
productFlavors {
if (enableFlavor) {
flavors.each { k, _ ->
"$k" { }
}
} else {
"prod" { }
}
}
4. 修改Ios的 Podfile 文件
post_install do |installer|
if installer.pod_targets.select{|t| t.name.include?('Runner')}.count > 0
installer.pods_project.targets.each do |t|
t.build_configurations.each do |c|
c.build_settings['SWIFT_VERSION'] = '5.0'
end
end
end
end
使用说明
1. 设置构建类型
在项目根目录下的.flavor
配置文件中,将当前构建类型设置为dev、test或prod。
dev
2. 构建版本
在终端中运行以下命令构建版本:
flutter build apk --flavor dev
3. 安装版本
将构建好的版本安装到设备或模拟器中即可。
总结
本文介绍了如何使用Flutter插件flutter_flavor
来构建多渠道Flutter版本。这种方法不仅可以快速切换环境,简化打包发布流程,还可以避免魔改和出错。希望对您有所帮助。