为什么捐赠
API 浏览器
升级指南
创建新项目
quasar.config 配置文件
从 Webpack 项目转换
浏览器兼容性
TypeScript 支持
目录结构
命令列表
CSS 预处理器
使用 VueRouter 进行页面路由
懒加载 - 代码分割
资源处理
Boot 文件
预取特性
API 代理
配置 Vite
处理 import.meta.env
使用 Pinia 管理状态
代码检查与格式化
测试与审计
开发移动应用
Ajax 请求
开放开发服务器到公网
联系站长
Quasar CLI with Vite - @quasar/app-vite
发布到应用商店

应用商店提交由原生 Android 和 iOS 工具链处理。Quasar 负责构建 Web 应用并同步 Capacitor 项目;Android Studio、Xcode 和应用商店门户负责签名、打包和提交。

Android 发布

要为 Android 生成发布版本构建,可以使用以下 Quasar CLI 命令:

quasar build -m capacitor -T android

这将编译 Web 资源(如果还指定了 “–ide” 参数,则会打开 Android Studio IDE,你需要在其中触发发布构建)。

接下来,找到 Android Studio 生成的未签名 APK 文件。现在需要对未签名 APK 进行签名并运行对齐工具来优化它,为上架应用商店做准备。如果你已有签名密钥,可以跳过这些步骤直接使用已有密钥。

让我们使用 JDK 附带的 keytool 命令生成私钥。如果找不到此工具,请参考安装指南:

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 20000

系统会先提示你为 keystore 创建密码。然后回答该工具的其余问题,全部完成后,你应该在当前目录下看到一个名为 my-release-key.keystore 的文件。

WARNING

  • 将 keystore 及其密码保存在版本控制和构建日志之外。将加密备份与源代码仓库分开存放,并限制只有负责签名的人员或发布系统才能访问。丢失签名密钥可能导致无法发布更新;泄露它则可能让他人以你的应用名义签署恶意版本。
  • 应用商店政策、目标 SDK 要求、签名流程和开发者计划细节会定期变化。请以下方链接的平台文档为准。

在创建发布版本之前:

  • 提交或备份 /src-capacitor 下的原生改动
  • 移除仅用于开发的接口端点、日志和权限
  • 设置原生版本号和构建号
  • 验证图标、启动画面、隐私声明、权限以及生产环境服务
  • 在真机设备上测试发布构建

Google Play

构建 Web 资源,同步 Capacitor,然后打开 Android Studio:

quasar build -m capacitor -T android --ide

在 Android Studio 中,使用 Build > Generate Signed Bundle / APK。Google Play 通常要求提交 Android App Bundle(.aab)。配置发布签名密钥,并安全备份密钥及其凭据;丢失上传密钥可能会影响后续发布。

/src-capacitor/android/app/build.gradle(或 build.gradle.kts,取决于生成的项目)中设置 Android 发布版本:

  • versionCode 是一个整数,每次上传到 Play 商店时必须递增。
  • versionName 是面向用户展示的版本号。

然后在 Google Play Console 中创建或更新应用,完成政策和商店列表要求,将签名 bundle 上传到测试轨道,测试通过后再推广发布。

参考 Android 当前的指南:签名应用准备发布在 Google Play 发布

Apple App Store

Apple 发布需要 macOS、Xcode 和 Apple Developer Program 成员资格。构建 Web 资源,同步 Capacitor,然后打开 Xcode:

quasar build -m capacitor -T ios --ide

在 Xcode 中:

  1. 选择 App target,在 Signing & Capabilities 中配置正确的团队和 bundle identifier。
  2. 设置面向用户的版本号和构建号。每次上传需要唯一的构建号。
  3. 选择通用设备或连接的 iOS 设备作为目标。
  4. 选择 Product > Archive
  5. 在 Organizer 中,验证并分发 archive 到 App Store Connect。

App Store Connect 中创建应用记录,选择已上传的构建版本,完成隐私和商店元数据,通过 TestFlight 测试,然后提交审核。

参考 Apple 当前的文档:通过 App Store 分发应用上传构建提交审核

命令行原生构建

不使用 --ide 时,Quasar 会调用 Gradle 或 xcodebuild,并将原生输出收集到 /dist/capacitor/<target> 目录下。签名要求仍然来自原生项目和平台工具链。对于应用商店发布,打开 IDE 通常是选择签名身份、检查警告、归档和上传构建的最清晰方式。