乐于分享
好东西不私藏

嘘��App发版可以这么爽,一般人我不告诉他

嘘��App发版可以这么爽,一般人我不告诉他

本文是「摸鱼指南 · 告别手动发版」系列第 1 篇。

系列目录:第 1 篇:总览(本文)第 2 篇:VSCode 插件实战第 3 篇:CLI 实战与 CI/CD第 4 篇:8 平台 API 踩坑


嘘🤫跟你说个事,别声张

上个月发版日,我和隔壁工位同时开始发版。

产品经理丢来一句:”测试过了,今天发。”

我打开电脑,8 个应用商店排着队等我伺候——

华为:登我后台!传 APK!填更新说明!

小米:该我了!OPPO:下一个我!vivo:别忘了我!

应用宝:我也要——App Store:IPA 呢?鸿蒙:我也要传!蒲公英:测试催链接了!

“这种场面我还是可以控制的。”

然后——华为上传失败了,重来。小米密码忘了,等验证码。OPPO 版本号重复,重新打包。iOS 的 Transporter 卡在 80% 不动。

2 小时后,我终于把链接发群里。回头一看——隔壁已经在刷手机了。

“你传完了?””早传完了,10 分钟的事。”

他打开 VSCode,勾了 8 个平台,点了”开始”,去接了杯水。回来的时候全传完了,链接自动汇总好了。

不是他比我快,是他根本没在手动做这件事。

发布中心主界面

痛在哪

每次发版你在重复的动作:登录后台 → 找应用 → 传包 → 填说明 → 等进度 → 复制链接 → 汇总发群。7 步,0 技术含量,×8 个平台。

再想想密码管理——华为的上次改过、小米的存在哪个备忘录、OPPO 要手机验证码但手机不在手边、App Store 的专用密码过期了吗……

8 套账号,每套都可能忘密码,每套登录方式都不一样。没有任何技术含量,却每次消耗你 2 小时。


一个被忽略的事实

你用 Flutter,同事用 React Native,隔壁组写原生。框架不同,但有一件事完全一样:上传到应用商店的痛苦。

打包是框架的事——flutter build./gradlew assembleReleasexcodebuild,各管各的。

但上传?不管 APK 是 Flutter 编译的还是 Kotlin 写的,传到华为商店登的是同一个后台,填的是同一份字段,等的是同一根进度条。

打包和上传是两件事。打包跟框架绑定,上传跟框架无关。有包就能传,不问你用什么写的。


我们做了什么

对接了 8 个应用商店的 API,把认证、上传、提审全部封装了。不吹,直接看验证状态:

平台
认证方式
状态
蒲公英
API Key
✅ 已验证
华为 AppGallery
OAuth2
✅ 已验证
小米应用商店
RSA 公钥签名
✅ 已验证
OPPO 应用商店
HMAC-SHA256
✅ 已验证
vivo 应用商店
HMAC + MD5
✅ 已验证
腾讯应用宝
HMAC-SHA256
✅ 已验证
App Store
Transporter + Apple ID
✅ 已验证
鸿蒙应用市场
OAuth2
✅ 已验证

OAuth2、RSA、HMAC-SHA256……你不需要知道这些。填一次密钥,剩下的全部由工具处理。

密钥配置面板

三种发布模式

模式
做什么
谁用
全量流水线
编译 + 上传一气呵成
Flutter 开发者
仅构建
只编译出安装包,不上传
先验证构建
仅上传
有安装包就能传
所有 App 开发者

不是 Flutter 开发者?没关系,“仅上传”就是为你设计的。React Native 编译完拿到 APK,选文件直接传。原生、鸿蒙同理。

发布模式选择

上传之外

密钥管理:配一次,下次自动加载,存在本地不上传。每个平台旁有帮助按钮,告诉你密钥在哪申请。

失败重试:8 个平台同时传,某一个失败不影响其他 7 个,点一下只重传那一个。网络超时自动重试,认证错误不浪费时间。

安装包自动识别:选了 APK 自动解析包名版本号,IPA 自动解析 Info.plist,HAP 自动读 module.json。不用手动填。

结果汇总:上传完成后所有链接一键复制,蒲公英自动生成二维码,丢群里收工。

结果汇总与二维码

上传后各平台会怎样

平台
上传后
你还需要做什么
蒲公英
直接可下载,生成二维码
分享链接即可
华为/鸿蒙
默认存草稿(可配自动提审)
后台确认后提审,或配置 submit
小米
直接提交审核
确认包没问题再传(无草稿)
应用宝
直接提交审核
确认包没问题再传(无草稿)
OPPO/vivo
包和版本信息已提交
建议去后台确认后提审
App Store
IPA 传到 Connect
去后台选版本、填信息、提审

注意:小米和应用宝上传即提审,这是平台 API 决定的。华为/鸿蒙最灵活,可配 draft 或 submit


手动 vs 自动

手动发版
自动发版
耗时
2+ 小时
10-15 分钟
密钥
到处找,经常忘
配一次,自动加载
上传
逐个登录、拖文件、等进度
8 平台并行,一键完成
失败
全部重来
单个重试
链接
逐个复制汇总
一键复制全部
适用
所有 App 开发者,不限框架

开始使用

VSCode 插件(推荐):扩展市场搜索 “Flu CLI” → 安装 → 右键项目 → Flu: 发布中心

VSCode 插件入口

CLI 命令行

npm install -g @huoye/app-shipapp-ship init                    # 生成配置文件app-ship upload -c app-ship.yaml -f app-release.apk

npm 库

import { createUploadManager } from'@huoye/app-ship'const manager = createUploadManager({ maxConcurrent3 })await manager.uploadToMultiplePlatforms('./app.apk', config, metadata)

三种方式,底层同一套引擎,上传能力完全一致。


这个系列会讲什么

篇章
内容
适合谁
第 2 篇
VSCode 发布中心完整操作教程
喜欢可视化界面的开发者
第 3 篇
app-ship CLI 从安装到 CI/CD 集成
命令行爱好者 / DevOps
第 4 篇
对接 8 个应用商店 API 的踩坑实录
技术人(干货向,建议收藏)

发版这件事,不该消耗你的脑力,它只该消耗带宽。


觉得有用?

  • • 👍 点赞 — 让更多被发版折磨的人看到
  • • ⭐ 收藏 — 下个发版日翻出来用
  • • 💬 评论 — 你被哪个商店折磨得最惨?

关注公众号「火叶」,第一时间获取系列更新与 API 踩坑干货。


「摸鱼指南 · 告别手动发版」 · 第 1 篇官方文档 · 源码仓库

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 嘘��App发版可以这么爽,一般人我不告诉他

猜你喜欢

  • 暂无文章