Flutter应用能否为不同设备端设置不同的应用版本号?
Flutter 多平台独立设置版本号方案
Flutter 默认pubspec.yaml内配置的version字段为全局统一版本,但是完全支持为不同平台单独配置独立版本号,可实现你需求中Android端用1.1.1、桌面端用1.3.1的效果,具体操作方法如下:
Android 端独立配置
- 打开项目路径下的
android/app/build.gradle文件 - 找到
defaultConfig代码块,直接修改versionName(对外显示的版本号)和versionCode(内部版本编号,需每次更新迭代递增)两个参数即可,示例如下:
defaultConfig { applicationId "com.example.your_app" minSdkVersion 21 targetSdkVersion 34 // 单独设置Android端版本为1.1.1 versionName "1.1.1" versionCode 2 }
- 如果要完全禁用全局版本同步,删掉该文件内对
flutterVersionName和flutterVersionCode的引用即可,之后pubspec.yaml的版本变更不会影响Android端配置。
桌面端独立配置
Windows 端
- 打开
windows/runner/Runner.rc文件 - 分别修改版本相关的数字配置和字符串配置即可,设置为1.3.1的示例:
// 数字版本配置,格式为 主版本,次版本,修订版本,构建号 FILEVERSION 1,3,1,0 PRODUCTVERSION 1,3,1,0 // 字符串版本配置 VALUE "FileVersion", "1.3.1.0" VALUE "ProductVersion", "1.3.1.0"
macOS 端
- 打开
macos/Runner/Info.plist文件 - 修改
CFBundleShortVersionString对应显示版本号,CFBundleVersion对应内部构建版本号即可。
Linux 端
- 打开
linux/CMakeLists.txt文件 - 找到
set(APPLICATION_VERSION "x.y.z")配置行,直接修改引号内的版本号即可。
iOS 端独立配置(补充参考)
- 打开
ios/Runner/Info.plist文件 - 与macOS配置逻辑一致,修改
CFBundleShortVersionString和CFBundleVersion两个字段对应值即可。
注意:执行
flutter build打包命令时如果指定了--build-name或--build-number参数,参数设置的版本会覆盖各平台的独立配置,按需使用即可。
内容的提问来源于stack exchange,提问作者Saeed Ghasemi
相关产品推荐
相关产品推荐

