新应用上架要填一堆应用信息?图标怎么还要我自己传?截图随手一截不符合要求?要处理的信息也太多了吧,deepin/UOS 应用商店的投递流程,终于有人给“无痛”重构了。

社区大佬@罐子 亲自操刀,打造了这款 应用投递助手 ,新应用上架、线上应用更新、甚至只改文案和截图,都能在一个工作台里轻量完成。

想彻底告别重复劳动?文末附录还奉上 GitHub Action 自动化发布方案。

 

适用场景

应用投递助手主要解决三类工作:

1. 新应用上架:拖入本地 .deb、玲珑 .uab 或 .layer 包,自动解析元数据,补齐文案、截图、图标和适配范围后提交。

2. 已上架应用更新:选择“我的应用”中的线上应用,可只更新文案、截图、图标或适配范围;如果拖入新包,则作为版本更新提交。

3. 多架构包更新:同一个应用可以同时维护 x86、amd64、arm64、loong64 等不同架构包。包列表按包展示,点击某个包后,右侧显示该包对应的截图、图标和适配范围。

 

启动与登录

  • 安装 deb 后,从桌面图标或启动器打开“应用投递助手”。
  • 开发环境下也可以直接运行 Qt 程序:
./Qt-C++/build/utpublisher-qt-cpp

  • 首次启动后,点击右上角“同步”,拉取商店能力缓存(包括 deb 系统线、玲珑系统线、baseline、CPU 和主板适配项等)。
  • 点击左下角 “登录”,支持扫码或账号密码。登录成功后左下角会显示账号和 Cookie 有效状态。

 

新应用上架完整流程

Step 1:确保空白状态

  • 点击左侧 “我的应用”,回到未选择任何应用和本地包的空状态。

Step 2:拖入安装包

  • 将 .deb / .uab / .layer 文件拖入中间虚线框(或点击“选择包文件”)。
  • 等待解析,工具自动填充:应用名、版本号、架构、包格式、官网等。

Step 3:填写或确认资料

  • 官网:不严格限制 URL 格式,可填官网、项目地址或文档地址。
  • 开发者:填写开发者名称,提交时写入商店信息。
  • 分类:选择应用分类。
  • 中文文案:名称、简介、详情、更新说明。
  • 英文文案:对应的英文内容(商店会展示双语)。
  • 发布区域:中国(含港澳台)/ 其他地区,可多选。

Step 4:处理图标和截图

  • 工具会自动尝试从包内提取图标(deb 从 desktop 文件或图标主题路径,玲珑包从元数据)。
  • 截图支持:添加截图(本地选择)、粘贴(从剪贴板导入)、占位(仅测试用)。
  • 关键一步:点击 “预处理素材”,工具自动把截图调整到商店规范尺寸:
  • 横屏截图 3:2(1050×700 到 1920×1280)
  • 竖屏截图 9:16(360×640 到 900×1600)
  • 至少准备 3 张有效截图,体现主界面和核心功能。
  • 如需替换线上图标/截图,勾选 “替换图标/截图”。

Step 5:配置适配范围(非常重要)

  • 适配范围是按包设置,不是整个应用统一设一次。
  • 点击左侧包列表中的某个包 → 右侧点击 “调整” → 选择该系统线和具体版本范围。
  • 只勾选系统线不选具体版本:使用商店默认兼容逻辑。
  • 选择具体版本:明确限定可上架的版本范围。
  • “不上架版本”用于排除某些版本。
  • 对于 ARM 架构包,还可以配置 CPU 和主板适配项(非 ARM 包通常不需要)。

Step 6:提交

  • 检查底部状态栏(解析 → 制图 → 等待 → 提交),点击 “执行全自动提交”。
  • 提交完成后生成 report.json,包含每个包的提交状态(submitted / submit_failed / failed)。如果失败,看 message 字段即可定位问题。

 

更新已上架应用(更轻量)

场景一:只更新文案、截图、图标或适配范围(不换包)

  • 登录并同步。
  • 左侧 “我的应用” 中点击目标应用,工具会加载线上资料。
  • 直接修改中文/英文文案、官网、开发者、发布区域、截图、图标或适配范围。
  • 不拖入新包,点击“执行全自动提交” → 资料更新生效。

场景二:更新安装包(版本更新)

  • 推荐方式:先选线上应用,再拖入新包(避免包名匹配错乱)。
  • 备选方式:直接拖入新包,让工具按包名自动匹配线上应用(可能匹配错误,优先用第一种)。
  • 包列表会显示所有历史架构包。本次不更新的架构包信息不会丢失,商店仍保留。
  • 常见问题:如果商店返回“包文件名称不一致”,说明新包包名与线上应用包名不匹配,请检查 deb 控制字段或玲珑元数据。

 

附录:GitHub Action

桌面端适合人工检查和半自动投递;GitHub Action 适合在项目发布新版本时自动更新已上架应用。
最小示例:
name: Update UOS Store Appon:  workflow_dispatch:    inputs:      package:

        description: Package path

        required: true

jobs:

  update-app:

    runs-on: ubuntu-24.04

    steps:

      - uses: actions/checkout@v4

      - name: Update app store listing

        uses: guanzi008/appstore@main

        with:

          username: ${{ secrets.APPSTORE_USERNAME }}

          password: ${{ secrets.APPSTORE_PASSWORD }}

          packages: ${{ inputs.package }}

          app-id: "1096227"

          note: "自动更新"

          mode: api

多包更新:

packages: |dist/app_1.2.0_amd64.debdist/app_1.2.0_arm64.debdist/app_1.2.0_loong64.deb

 

只验证账号:

test-only: "true"

Action 更适合固定流程。涉及截图挑选、适配范围核对、文案编辑时,优先使用桌面端。

 

写在最后

应用投递助手已上架deepin 25 应用商店欢迎下载体验,更详细功能介绍可前往deepin论坛-应用投递助手专帖查阅。

目前工具的各项功能仍在持续打磨中,但它已经能帮你省下大量重复劳动。项目现已完全开源,希望更多生态开发者能一起参与共建。

如果你在使用中遇到任何问题,或对下一版功能有想法,欢迎到 deepin论坛-应用投递助手专帖留言反馈,也欢迎直接提 Issue、PR,让这个工具变得更顺手。

项目地址:https://github.com/guanzi008/appstore.git

感谢罐子,也感谢每一位愿意让 deepin 生态更好的你。

 

生态招募:我们需要,热爱 Linux 生态的你

Linux 生态的发展,从来不是一个人的战斗,而是一群技术爱好者的携手同行。

deepin 作为在 DistroWatch 全球排名中表现亮眼、广受全球用户认可的开源操作系统诚邀所有热爱开源的朋友,加入我们的 deepin 生态共建队伍,无论你是技术大牛,还是刚入门的技术爱好者,只要你认同开源精神,愿意为 Linux 生态贡献一份力量,这里都有你的一席之地。

发表评论