在 Google Play 上更新你已上架的 Flutter 应用

要在 Google Play 上更新你已上架的 Flutter 应用,你需要完成以下几个关键步骤。以下是详细的操作流程:


✅ 前提条件

  • 你已经拥有一个在 Google Play Console 中发布的应用。
  • 你拥有该应用的发布权限(即你是开发者账号的管理员或具有"发布管理"角色)。
  • 你的 Flutter 项目已集成正确的 包名(package name),且与 Google Play 上已发布的应用一致。
  • 你有用于签名 APK/AAB 的 keystore 文件(必须与最初上传的版本使用同一个 keystore)。

🔧 步骤一:在 Flutter 项目中准备新版本

1. 更新 pubspec.yaml 中的版本号(可选但推荐)

yaml 复制代码
version: 1.0.2+3
  • 格式为 versionName+versionCode(例如 1.0.2+3 表示 versionName=1.0.2,versionCode=3)。
  • Google Play 要求新版本的 versionCode 必须比当前版本大

2. 构建签名的 AAB 文件(推荐)或 APK

Google Play 强烈推荐使用 AAB(Android App Bundle)格式

生成 Keystore(如果还没有)

如果你已有 keystore,请跳过此步。切勿重新生成!否则无法更新!

bash 复制代码
keytool -genkey -v -keystore ~/upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload
配置 Flutter 项目的签名信息

upload-keystore.jks 放入 android/app/ 目录下(或安全位置),然后编辑:

android/key.properties(新建文件):

properties 复制代码
storePassword=你的keystore密码
keyPassword=你的key密码
keyAlias=upload
storeFile=../app/upload-keystore.jks

android/app/build.gradle 添加以下内容(在 android { 块之前):

gradle 复制代码
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}

android {
    ...
    signingConfigs {
        release {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
            storePassword keystoreProperties['storePassword']
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
            // 其他配置...
        }
    }
}

3. 构建 AAB

在项目根目录运行:

bash 复制代码
flutter build appbundle

生成的文件路径为:

复制代码
build/app/outputs/bundle/release/app-release.aab

如果你坚持用 APK(不推荐),使用 flutter build apk --release


📤 步骤二:上传到 Google Play Console

1. 登录 Google Play Console

  • 使用当初发布应用的开发者账号登录。

2. 进入你的应用

  • 在首页点击你的应用。

3. 进入「发布」>「生产」(或其他轨道,如内部测试、公开测试等)

  • 如果你之前是通过"生产"轨道发布的,建议继续在"生产"轨道更新。
  • 点击 创建新版本编辑版本

4. 上传新的 AAB 文件

  • 点击 "上传" 按钮,选择你刚生成的 app-release.aab
  • 系统会自动读取 versionCode,确保它比当前版本大。

5. 填写更新说明(Release Notes)

  • 为不同语言的用户提供更新日志(至少提供英文和中文)。

  • 例如:

    复制代码
    - 新增用户个人中心功能
    - 修复了登录闪退问题
    - 优化了启动速度

6. 审查并提交审核

  • 检查所有信息无误后,点击 保存发布(或"提交审核")。
  • Google 通常需要几小时到几天进行审核(一般 1--7 天,多数情况 1--2 天内上线)。

✅ 注意事项

  • 不要更改包名(package name),否则会被视为新应用。
  • 必须使用相同的签名密钥(keystore),否则无法更新。
  • 如果你丢失了 keystore,无法更新原应用,只能联系 Google Play 支持尝试恢复(成功率低)。
  • 建议备份 keystore 到安全的地方(如加密云盘 + 本地硬盘)。
  • 可以先在"内部测试"轨道发布,验证无误后再推送到"生产"。

🔒 安全建议

  • key.properties 加入 .gitignore,避免泄露密码。
  • 不要将 keystore 提交到 Git 仓库。

相关推荐
奋斗的小青年!!3 小时前
Flutter跨平台开发适配OpenHarmony:文件系统操作深度实践
flutter·harmonyos·鸿蒙
西西学代码5 小时前
Flutter---路径管理器项目
flutter
奋斗的小青年!!5 小时前
Flutter跨平台开发OpenHarmony应用:个人中心实现
开发语言·前端·flutter·harmonyos·鸿蒙
LawrenceLan5 小时前
Flutter 零基础入门(十五):继承、多态与面向对象三大特性
开发语言·前端·flutter·dart
Rysxt_5 小时前
Flutter与UniApp底层逻辑深度对比
flutter·uni-app
奋斗的小青年!!8 小时前
OpenHarmony Flutter 穿梭框组件深度实践与优化
flutter·harmonyos·鸿蒙
走在路上的菜鸟9 小时前
Android学Flutter学习笔记 第五节 Android视角认知Flutter(插件plugins)
android·学习·flutter
奋斗的小青年!!11 小时前
Flutter开发OpenHarmony打卡进度环组件:实现与跨平台兼容性实践
flutter·harmonyos·鸿蒙