在 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 仓库。

相关推荐
用户66116655296528 小时前
Futter3 仿抖音我的页面or用户详情页
flutter
Haha_bj9 小时前
Flutter ——device_info_plus详解
android·flutter·ios
前端小伙计9 小时前
Android/Flutter 项目统一构建配置最佳实践
android·flutter
微祎_10 小时前
Flutter for OpenHarmony:形状拼图游戏开发全指南 - 基于Flutter CustomPaint的可拖拽矢量拼图实现与设计理念
flutter
不爱吃糖的程序媛10 小时前
解锁Flutter鸿蒙开发新姿势——flutter_ohfeatures插件集实战指南
flutter
一只大侠的侠11 小时前
React Native开源鸿蒙跨平台训练营 Day16自定义 useForm 高性能验证
flutter·开源·harmonyos
子春一11 小时前
Flutter for OpenHarmony:绿氧 - 基于Flutter的呼吸训练应用开发实践与身心交互设计
flutter·交互
ujainu11 小时前
告别杂乱!Flutter + OpenHarmony 鸿蒙记事本的标签与分类管理(三)
android·flutter·openharmony
ZH154558913112 小时前
Flutter for OpenHarmony Python学习助手实战:API接口开发的实现
python·学习·flutter
一只大侠的侠12 小时前
Flutter开源鸿蒙跨平台训练营 Day11从零开发商品详情页面
flutter·开源·harmonyos