← 返回首页

App 上架全流程:Google Play 与 App Store 实战指南

从签名、打包到审核过审,完整记录将一款跨平台 App 同时上线 Google Play 和 App Store 的全部踩坑。

上架前准备

上架之前,确保以下几点已经完成:

  • 账号注册:Google Play 开发者账号($25 一次性费用)+ Apple 开发者账号($99/年)
  • App 信息:应用名称、描述(中英文)、关键词、隐私政策 URL
  • 素材:应用图标(1024×1024 PNG,无透明度)、截图(各种设备尺寸)、宣传图
  • 隐私政策:即使不收集用户数据,也必须有隐私政策页面

Android 签名与打包

第一步:生成签名 Keystore

keytool -genkeypair -v \
  -keystore my-release-key.keystore \
  -alias my-key-alias \
  -keyalg RSA \
  -keysize 2048 \
  -validity 10000
⚠️ 极其重要

Keystore 文件和密码一定要妥善备份!一旦丢失,你将永远无法更新这个 App(Google Play 绑定签名)。建议存到多个安全位置(加密云盘 + 本地外置硬盘)。

第二步:配置签名(Flutter)

# android/key.properties(不要提交到 Git!)
storePassword=your_store_password
keyPassword=your_key_password
keyAlias=my-key-alias
storeFile=../my-release-key.keystore
// android/app/build.gradle
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(rootProject.file('key.properties')))

android {
    signingConfigs {
        release {
            storeFile file(keystoreProperties['storeFile'])
            storePassword keystoreProperties['storePassword']
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
            minifyEnabled true  // 开启代码混淆
            shrinkResources true
        }
    }
}

第三步:打包 AAB(推荐)

# Flutter
flutter build appbundle --release

# React Native
cd android && ./gradlew bundleRelease

Google Play 推荐上传 .aab 而非 .apk,因为 Play Store 会根据用户设备自动分发最优包,减少下载体积。

Google Play 上架

  1. 登录 Google Play Console → 创建应用
  2. 填写应用信息、内容分级(IARC 问卷)、目标受众
  3. 上传 AAB 到「内部测试」轨道,先做内测
  4. 完成所有 Policy 声明(数据安全表格很重要,如实填写)
  5. 发布到「生产」轨道,等待审核(通常 1~3 天)
💡 技巧

先发布到「内部测试」轨道验证没问题后,再升级到「正式发布」。这样即使发现 Bug 也能快速回滚,不影响正式用户。

iOS 签名与打包

iOS 签名比 Android 复杂,涉及证书(Certificate)、描述文件(Provisioning Profile)、Bundle ID 三者的绑定。

# Flutter:在 Xcode 打开项目,配置好 Team 和 Bundle ID 后
flutter build ipa --release

# 上传到 App Store Connect
xcrun altool --upload-app -f build/ios/ipa/*.ipa \
  -u your@apple.id -p app-specific-password

推荐使用 Fastlane 自动化证书管理和上传流程:

# Fastfile
lane :release do
  match(type: "appstore")      # 自动同步证书
  build_app(scheme: "Runner")  # 编译
  upload_to_app_store          # 上传
end

App Store 上架

  1. 在 App Store Connect 创建新 App,填写 Bundle ID
  2. 填写应用名称、副标题、关键词(100字符,空格分隔或逗号)
  3. 上传截图:至少需要 6.5 英寸(iPhone 15 Pro Max)和 12.9 英寸(iPad)尺寸
  4. 构建版本上传后等待处理(通常 10~30 分钟)
  5. 选择构建版本 → 提交审核
  6. 首次审核通常 24~48 小时,之后一般几小时

审核常见被拒原因

平台常见被拒原因解决方案
App Store隐私权限说明不足在 Info.plist 中为每个权限添加使用说明
App Store功能描述不完整截图和文案要与实际功能完全匹配
App Store缺少测试账号在审核备注中提供演示账号密码
Google Play数据安全表格填写不实如实声明所有收集的数据类型
Google Play目标 API 等级过低确保 targetSdkVersion 符合 Google 最新要求

更新发版流程

  • 每次发版必须升级版本号(versionNameversionCode 双双递增)
  • Android:versionCode 只能递增,不能降低
  • iOS:CFBundleVersion(Build Number)每次上传都需要唯一
  • 写好 Release Notes(更新日志),用户会因为清晰的更新说明而信任你的 App