Flutter应用上传Google Play失败:版本号1已被使用
问题描述
- 在Google Play Developer Console上传Flutter应用新版本时,通过「App Bundle Explorer」→右上角「Upload new release」操作,收到版本重复的错误提示
- 检查发布历史及App Bundle Explorer,无待删除的安装包或发布草稿
- 已修改
pubspec.yml中的版本号,执行flutter clean、flutter pub get、flutter build appbundle重新构建后,Google仍识别安装包为1.0.0版本
解决方案
以下是针对性的排查和解决步骤:
- 确认pubspec.yml版本配置完整
打开项目根目录的pubspec.yml,确保version字段同时修改版本名和构建号,格式为x.y.z+build_number(例如1.0.1+2)。Google Play会同时校验这两个值,仅修改版本名可能无效。 - 验证构建后安装包的版本信息
构建完成后,在build/app/outputs/bundle/release/目录找到.aab文件,执行以下命令查看包内的版本配置:
如果输出仍是旧版本,说明构建过程未正确读取修改后的配置。unzip -p app-release.aab base/manifest/AndroidManifest.xml | grep "versionName\|versionCode" - 彻底清理后重新构建
除执行flutter clean外,手动删除以下目录:android/app/build- 项目根目录下的
build/
再依次执行:
flutter pub get flutter build appbundle --release - 检查Android端是否硬编码版本
打开android/app/build.gradle,确认defaultConfig块中没有硬编码的versionCode或versionName,正确配置应依赖Flutter同步的值:defaultConfig { applicationId "com.your.app.id" minSdkVersion flutter.minSdkVersion targetSdkVersion flutter.targetSdkVersion versionCode flutterVersionCode.toInteger() versionName flutterVersionName } - 确认上传的是最新安装包
检查上传的.aab文件路径,确保是刚构建的新版本,避免误传旧缓存文件。 - 等待Google Play后台缓存更新
若以上步骤都完成仍有问题,可退出控制台重新登录,或等待10-15分钟后再尝试上传,避免后台缓存导致的识别异常。
内容的提问来源于stack exchange,提问作者Boommeister
相关产品推荐
相关产品推荐

