You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter应用设置长版本号问题(已上架Google Play)

解决Flutter pubspec.yaml长版本号解析失败问题

错误原因

Dart的pub工具严格遵循**语义化版本控制(SemVer)**规范,要求版本号格式为 主版本号.次版本号.修订号+构建号,最多只能包含3个用点分隔的数字段。你配置的3.0.25.1+133有4个数字段,不符合规范,因此触发解析错误。

解决方案

方案1:调整版本号适配SemVer规范

将版本号修改为符合规范的格式,比如:

  • 合并第四个数字到修订号:3.0.251+133
  • 或者忽略第四个数字,保留核心版本段:3.0.25+133

修改后的pubspec.yaml片段:

version: 3.0.251+133

方案2:单独配置Android版本名(满足Google Play显示需求)

如果必须在Google Play显示3.0.25.1这类长版本名,可以保持pubspec.yaml的版本号符合SemVer,同时手动指定Android的versionName:

  1. 保持pubspec.yaml的版本号为规范格式,比如:
    version: 3.0.25+133
    
  2. 打开android/app/build.gradle文件,在defaultConfig块中添加自定义versionName:
    android {
        defaultConfig {
            // 保留原有配置,新增/修改以下行
            versionName "3.0.25.1"
            versionCode flutterVersionCode.toInteger()
        }
    }
    

这样pubspec中的构建号会同步到Google Play的versionCode,而versionName则显示你需要的长版本号,同时pub工具能正常解析版本号。

(可选)iOS端同步长版本名

如果iOS端也需要显示该长版本号,打开ios/Runner/Info.plist,修改CFBundleShortVersionString字段:

<key>CFBundleShortVersionString</key>
<string>3.0.25.1</string>

内容的提问来源于stack exchange,提问作者blue492

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 10:32:46