多端交付:微信小程序、安卓 App、小红书小工具
同一个应用、同一个代码仓库,除了网站还能同时交付微信小程序、安卓 App 和小红书小工具。这篇讲每种形态怎么开始、预览和发布分别做了什么、最后用户从哪里拿到它。
前置阅读:
02-apps.md(应用怎么建、配置向导在填什么)和04-publish.md(预览、合并、发布的区别)。
一个应用能同时交付几个端
| 形态 | 怎么开始 | 用户最后从哪拿到 |
|---|---|---|
| Web 网站 / 后台 / API | 默认形态,建应用就有 | 生产域名 |
| 微信小程序 | 配置向导填 AppID 等三个字段,再在 Chat 里让 Agent 写小程序工程 | 微信公众平台,你自己提交审核上线 |
| 安卓 App | 在 Chat 里说要安卓端,Agent 建安卓工程 | 你自己网页上的下载入口 |
| 小红书小工具 | 在 Chat 里说要小工具 | Chat 里下载 zip,你自己传到小红书 |
微信小程序和小红书小工具只有中国大陆节点有;安卓 App 国内海外都能做。iOS 目前不支持。
它们共用一个仓库,不需要为每个端各建一个应用。
微信小程序
先把三个字段填上
在配置向导的「微信小程序」一步填,都可以留空:
| 字段 | 干什么用 |
|---|---|
| AppID | 小程序标识 |
| AppSecret | 小程序登录鉴权 |
| 代码上传密钥 | 只给平台自动上传小程序代码用,是一份 RSA 私钥原文 |
三者用途不同,缺哪个影响哪件事。上传密钥属于敏感字段,填进去之后不会再回显,也不会出现在任何部署配置里——在配置里看不到它是设计如此,不代表你没填。
预览和发布分别做了什么
小程序的出包挂在 Web 端部署之后,是同一个按钮触发的两件事:
| 你点了 | 小程序这边发生什么 |
|---|---|
| 👀 预览 | 上传体验版,并生成一张体验版二维码,扫码就能在手机上看 |
| 🚀 发布 | 把代码传到微信「版本管理 → 开发版本」 |
发布到此为止,平台的活就干完了。 后面的「提交审核 → 发布上线」必须你自己去微信公众平台操作,平台不会替你上线——这是微信的规则,不是平台偷懒。
体验版二维码按 Chat 区分,不同 Chat 预览出来的是不同的二维码;地址会随部署配置下发给应用,页面上放一个扫码入口就能直接用。
上传是 Web 端部署成功之后的最佳努力步骤:小程序上传失败只会标记失败,不会把已经成功的 Web 发布回滚掉。
发布完在微信里找不到代码
先看那条消息里「上传微信小程序代码」这一步的状态,再判断原因,不要一上来就怀疑密钥没配:
| 步骤状态 | 多半是什么情况 |
|---|---|
| 成功 | 代码在「开发版本」里,常见是看错了位置(看成了线上版本或体验版) |
| 失败 | 微信侧「小程序代码上传」开了 IP 白名单没放行,或上传密钥无效 / 不是 PEM 格式的 RSA 私钥原文 |
| 跳过 / 没有这一步 | 才考虑没配 AppID 或上传密钥,或者这个应用根本还不是小程序工程 |
安卓 App
怎么开始
在 Chat 里说一句「给这个应用加一个安卓端」就行。Agent 会在仓库里建安卓工程并登记好,你不用填任何东西——配置向导最后一步的「安卓 App」是只读的一页,新建应用时整步隐藏,出过包之后才出现。
包名由平台生成,第一次出包时定死,之后不能再改(改了已经装在用户手机上的包就升级不了了)。最低支持 Android 7.0。
出包时机
跟 Web 一样挂在预览和发布上:
| 你点了 | 出的是什么包 |
|---|---|
| 👀 预览 | 调试包(debug),可以扫码试装 |
| 🚀 发布 | 正式签名包(release) |
一次构建通常 3~8 分钟,同一时间只能有一个构建在跑,排队时等前一个结束即可。
签名密钥
第一次出安卓包时,平台自动生成一份签名密钥并托管起来,你不需要准备任何东西。
配置向导的「安卓 App」一页有 导出备份 按钮(没出过包时是灰的,点了会二次确认)。导出会下载一个 .jks 文件,并在页面上显示密钥别名和两个口令——口令只显示这一次,切走这一步就清空了,当场存好。
只有文件、没有口令是签不了名的,两样都要留。密钥丢了没有补救办法,已经发出去的包也就没法再升级。平台自己存了一份,但强烈建议你也存一份。
构建记录和下载
同一页往下是构建记录列表,每条显示环境、类型(调试包 / 正式包)、状态、版本号、大小和时间,失败的会带一句错误摘要。可以按环境筛选,列表不会自动刷新,状态变了要手动点一下「刷新」。构建成功的那几条可以直接下载安装包,你自己验包用这里最快。
用户下载安装包的入口在你自己的网页上,平台不做统一下载页:构建成功之后再部署一次,下载地址会随部署配置下发,页面上的下载入口就出现了。让 Agent 同时放「点击下载」和二维码两个入口,手机扫码装最省事。
调试包和正式签名包用的是同一把密钥、版本号也走同一条序列,所以扫码试装过测试版的手机可以直接覆盖安装正式版,不用先卸载。
小红书小工具
只有中国大陆节点有这个形态。
它是一份离线 H5 zip:纯本地运行、不联网、调不了你应用的后端,和网站、小程序不是同一套运行时。适合放规则明确、算完就出结果的小工具。
- 源码进仓库(通常在
xhs-minitool/下),打包好的 zip 在 Chat 的产物列表里下载 - 平台不会替你传到小红书,也没有体验版二维码和上传密钥这类配置项
- 拿到 zip 之后,你自己到小红书创作者后台上传
常见疑问
Q:三个端要建三个应用吗? A:不用。同一个应用、同一个仓库,Agent 在里面分别放 Web、小程序工程和安卓工程,预览和发布时一起处理。
Q:小程序发布成功了,为什么线上的小程序没变? A:平台只把代码传到「开发版本」,提交审核和发布上线要你在微信公众平台做。这是微信的流程,任何第三方都替不了。
Q:安卓包能传到应用商店吗? A:可以。平台负责出正式签名包、也能把签名密钥导出给你,上架各家商店由你自己去传。
Q:有 iOS 吗?鸿蒙呢? A:iOS 不支持。鸿蒙 4 及更早的版本能装安卓包;HarmonyOS NEXT 不支持。
Q:我不做小程序也不做 App,会不会平白多出一堆东西? A:不会。这些形态都要你明确提出来才会有,默认只有 Web 端。
下一步推荐:10-media.md
