分类
UpgradeAll

UpgradeAll 软件源编写指南

首先,非常感谢你考虑为 UpgradeAll 贡献帮助。

正是你这样的人使 UpgradeAll 成为一个很棒的工具。通过该文档,你可以全面了解/学习 UpgradeAll 项目的规则组织/编写方式。

UpgradeAll-rules 的 wiki 使用动作的方式拆解开发过程的方式并不适合学习,我们专门为你编写了该指南。

现在,我们就一起开始吧。注意,以下文档是按照具体的编写步骤开始的,不需要调整阅读顺序。

寻找数据

寻找合适的数据来源

一般来说,在力所能及的前提下,数据来源的优先级为:官方开放的 API > 第三方封装的 API > 官网网页(信息完善的,指包括历史更新信息等) > 官方未公开的 API

软件源需要的数据类别

如果你需要制作一个完整的软件源,你需要的数据有:

  1. 各个版本的版本号
  2. 各个版本的更新日志(非必须)
  3. 版本对应的下载链接(如果实在找不到可以直接用于下载的直链,也可以指向下载页面以供用户手动下载)

从网页中获取数据

获取 XPath

用浏览器打开目标网页,按下 F12,打开查看器,选取网页中的元素,定位到目标元素(一般是版本号字符串等)后,在右键菜单中选择复制 XPath。

复制 XPath 示意图

校验 XPath

使用 FireFox 插件 Try XPath 来校验刚刚复制到的 XPath 路径是否正确。

校验 XPath 示意图

编写脚本

从 API 中获取数据

找到 API 在哪

  1. 官方提供了 API(例如:Github)
  2. 第三方提供了 API (例如:RssHub 上的 ApkPure 的接口 )
  3. 对于开源项目但没有明示 API,你可以查看源码,找到更新相关的接口
  4. 对于闭源项目且没有 API,抓包,反编译,各显神通吧

API 适配的步骤

  1. 检查 API 的数据内容
  2. 若包含多个或是整个仓库的数据(例如:F-Droid、 XP 仓库),请使用脚本工具中的缓存函数缓存 API 返回的字符串
  3. 将 API 数据解析并转换为 UpgradeAll 数据接口

实现软件源

获取一个 UUID

每个软件源都应该有其独一无二的身份码,UpgradeAll 项目使用 UUID 来管理所有的配置文件,使用 Online UUID Generator 来为你的软件源生成一个吧。

编写 Python 脚本

获取调试环境

运行服务端方法详见 Server 仓库 README

编写脚本

接口函数文档定义(可能落后于代码实现)

接口函数基类实现

软件源脚本工具函数(若你认为还需要更多常用的函数操作,可提交 issue 与我们讨论)

测试脚本

详见 Server 运行示例

发布脚本

注意:你需要等待代码被 Server 合并后,才能向 UpgradeAll-rules 仓库提交你的配置

参考软件源配置编写文档

0

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据