Post

VS Code + Flutter:Google Play 应用发布完整实战方案

VS Code + Flutter:Google Play 应用发布完整实战方案

发布一个 Flutter 应用到 Google Play 是每个移动开发者的必经之路。本文带你从零开始,用 VS Code + Flutter 完成从代码到上架的全流程,包括签名配置、构建优化、商店资料准备、审核避坑等关键环节。

目录

发布前的准备工作

必备项 说明 成本
Google Play 开发者账号 发布应用的前提 25 美元(一次性)
稳定的 Flutter 项目 已经过测试的应用代码 免费
应用图标与截图 商店展示素材 免费/付费
隐私政策 URL 强制要求 免费

重要提示:开发者账号注册后可能需要 48 小时才能完全激活,建议提前注册。

完整发布流程概览

Flutter App 发布到 Google Play 完整流程准备工作- Google 开发者账号- 稳定版本代码- 应用素材配置应用签名- 创建 keystore- 配置 build.gradle- 上传签名到 Play Console优化应用配置- 修改版本号- 配置权限- 优化包体积构建发布包- flutter build appbundle- 验证 AAB 文件Play Console 创建应用- 填写基本信息- 设置商店详情- 上传应用图标上传构建产物- 上传 AAB 到内部测试- 添加测试人员- 验证安装提交审核- 选择发布轨道- 填写内容分级问卷- 确认发布审核通过?应用正式上架发布后监控- 查看崩溃报告- 收集用户反馈- 数据分析版本迭代- 修复问题- 功能更新- 重新发布收到拒信分析被拒原因修复问题修改应用或资料重新提交审核[hidden]-> 上传构建产物

第一步:配置应用签名

应用签名是 Android 发布的核心安全机制,务必妥善保管签名文件

1.1 创建签名密钥库

在 VS Code 终端中执行:

Windows:

1
2
3
keytool -genkey -v -keystore C:\Users\YourName\upload-keystore.jks `
  -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 `
  -alias upload

macOS/Linux:

1
2
3
keytool -genkey -v -keystore ~/upload-keystore.jks \
  -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 \
  -alias upload

按提示输入信息,记住设置的密码。

安全提示

  • keystore 文件不要提交到 Git
  • 密码使用密码管理器保存
  • 建议在多个位置备份 keystore

1.2 配置签名引用文件

在项目 android 目录下创建 key.properties

1
2
3
4
storePassword=你的密钥库密码
keyPassword=你的密钥密码
keyAlias=upload
storeFile=C:/Users/YourName/upload-keystore.jks

1.3 配置 build.gradle

修改 android/app/build.gradle

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

1.4 配置 Google Play 应用签名

Google Play 应用签名机制开发者开发者本地构建本地构建Google PlayConsoleGoogle PlayConsoleGoogle签名服务Google签名服务用户设备用户设备使用上传密钥签名 AAB上传 AAB 文件验证上传签名请求应用签名使用应用密钥重新签名返回签名后的 APK分发优化后的 APK

配置步骤

  1. 进入 Play Console → 应用设置 → 应用签名
  2. 选择”让 Google 管理您的应用签名密钥”
  3. 上传你的上传证书

第二步:优化应用配置

2.1 更新版本信息

修改 pubspec.yaml

1
2
3
name: your_app_name
description: 你的应用描述
version: 1.0.0+1  # 版本名+版本号(每次发布递增)

2.2 配置应用权限

修改 AndroidManifest.xml

1
<uses-permission android:name="android.permission.INTERNET" />

权限最小化原则:只声明应用真正需要的权限。

2.3 配置应用图标

使用 flutter_launcher_icons 一键生成:

1
dart run flutter_launcher_icons

第三步:构建发布包

1
2
3
4
5
6
7
8
# 清理旧构建
flutter clean

# 获取依赖
flutter pub get

# 构建发布版 AAB
flutter build appbundle --release

构建完成后,文件位置:build/app/outputs/bundle/release/app-release.aab

第四步:Google Play Console 配置

4.1 创建应用

  1. 访问 Google Play Console
  2. 点击”创建应用”
  3. 填写应用基本信息

4.2 设置商店详情

准备以下素材:

  • 应用图标(512×512 PNG)
  • 特色图(1024×500 PNG)
  • 手机截图(至少 2 张)
  • 应用描述

4.3 内容分级问卷

如实填写:

  • 是否包含暴力、恐怖内容
  • 是否包含性暗示内容
  • 是否涉及赌博
  • 是否允许用户互动
  • 是否收集用户数据

第五步:提交审核与发布

5.1 选择发布轨道

轨道 测试人数 审核速度 适用场景
内部测试 最多 100 人 最快 开发团队、亲友测试
封闭测试 不限 较快 邀请特定用户群体
开放测试 不限 正常 公开 beta 测试
正式发布 全球用户 1-3 天 面向所有用户

5.2 上传到内部测试

  1. Play Console → 发布 → 测试 → 内部测试
  2. 点击”创建新版本”
  3. 上传 app-release.aab 文件
  4. 添加测试人员邮箱
  5. 保存并发布

5.3 提交正式发布

当内部测试通过后:

  1. 进入”正式版”轨道
  2. 点击”创建新版本”
  3. 上传 AAB 文件
  4. 检查”发布内容概览”完成
  5. 点击”开始发布到正式版”

自动化发布工作流

使用 GitHub Actions 自动发布:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
name: Flutter Android Release

on:
  push:
    tags:
      - 'v*'

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      
      - name: Set up Flutter
        uses: subosito/flutter-action@v2
        with:
          flutter-version: '3.22.0'
          channel: 'stable'
      
      - name: Build App Bundle
        run: flutter build appbundle --release
      
      - name: Upload to Google Play
        uses: r0adkll/upload-google-play@v1
        with:
          serviceAccountJsonPlainText: $
          packageName: com.yourcompany.yourapp
          releaseFiles: build/app/outputs/bundle/release/app-release.aab
          track: production

常见审核被拒原因与解决方案

❌ 问题 1:隐私权政策缺失

解决方案

  1. 准备一个公开的隐私政策页面
  2. 在 Play Console 商店详情中填写隐私政策 URL
  3. 在应用内也提供隐私政策入口

❌ 问题 2:应用功能不完整

解决方案

  1. 发布前在真机上进行完整测试
  2. 确保所有核心功能都能正常运行

❌ 问题 3:应用内容违规

解决方案

  1. 确保所有内容都是原创或获得授权
  2. 检查应用名称、图标是否与知名品牌相似

发布后的监控与迭代

关键指标阈值

指标 优秀 良好 需要优化
崩溃率 < 0.1% < 0.5% > 1%
ANR 率 < 0.05% < 0.2% > 0.5%
次日留存 > 40% > 30% < 20%
7 日留存 > 20% > 15% < 10%

版本迭代策略

小版本更新:1-2 周一次,修复 bug、性能优化 大版本更新:1-3 个月一次,重大功能发布

总结与最佳实践

发布检查清单

  • 签名配置正确:keystore 和密码正确
  • 版本号已递增:每次发布都要增加 versionCode
  • 权限最小化:只声明必要的权限
  • 真机测试通过:至少在 2-3 台不同机型上测试
  • 隐私政策就绪:有公开的隐私政策页面
  • 商店素材完整:图标、截图、描述都已准备

关键经验总结

1. 签名是生命线

keystore 文件一旦丢失,你将永远无法更新应用。建议多处备份。

2. 测试要充分

不要用模拟器测试代替真机测试。

3. 审核要耐心

首次发布审核可能需要 3-7 天,不要急于催审。

4. 分阶段发布

先内部测试 → 小范围封闭测试 → 逐步放量。


行动建议

如果你现在准备发布第一个应用:

  1. 今天:注册 Google Play 开发者账号(需要 25 美元)
  2. 本周内:创建 keystore 并配置签名,准备应用图标和截图
  3. 下周:在 Play Console 创建应用,上传到内部测试轨道
  4. 测试通过后:提交正式发布,耐心等待审核

整个流程熟练后,从代码完成到正式上架只需要 1-2 周时间。按照本文的步骤一步步来,你也能顺利发布自己的 Flutter 应用!

This post is licensed under CC BY 4.0 by the author.