把项目中的一段原生能力交给别人使用,需要同时交付接口、依赖、示例和验证记录。本文以 AppKernia 移动端 UTS 模块为参照,说明如何整理一次可追踪的源码发布;akone 后端进程插件采用另一套开发与运行规则。

以安全存储模块确定接口

先查看 ak-secure-storage 的 UTS 接口和各平台实现。它提供 availability、set、get、remove、clearNamespace,调用方使用稳定结果处理成功或失败,无需处理 Keychain、Keystore 的原生对象。

准备自己的模块时,同样先定义输入、返回值和失败类型。存储缺失与底层读写失败要分开,设备不支持时应返回明确结果;把安全凭据悄悄写进普通存储会改变原有安全条件。范围以一个可独立调用的能力为宜,账户页面和项目业务逻辑可以继续留在应用中。

对照包内路径和依赖

在插件目录核对版本、最低工具版本、平台限制与依赖,再下载 ZIP。解压包保留仓库目录,实际模块位于 apps/ak-mobile/uni_modules/ak-secure-storage;不能把最外层归档目录直接当作模块复制。

推送包还包含 ak-permissions。目标项目已有同名文件时,先比较差异,保留业务补丁。记录公开提交和采用版本,之后才能判断升级要替换哪些文件。

官方目录包按固定公开提交制作。采用者应在自己的源码仓库记录模块版本,并保留 LICENSE、第三方声明及依赖;本地修改需要单独记录,不能仅靠下载文件名判断来源。

写一个能重复运行的示例

存储示例至少执行保存、读取、删除及删除后读取,并检查不存在与失败的区别。示例应使用临时测试值,不包含真实密码或 Token。反复执行时,还要确认上一次留下的状态不会让本次结果看似成功。

其他模块按自身行为补充失败路径:推送权限被拒绝后界面仍可操作;OAuth 取消后停止加载;验证码过期后清空答案并获取新挑战。依赖厂商服务时,文档注明账号与配置步骤,凭据保留在受控环境。

缺少真实渠道或设备时,把示例已测的部分与未测的部分写开。模拟授权返回值能够检查页面分支,无法证明厂商回调、签名或域名关联正确。

兼容说明记录到设备和工具版本

项目记录方式
构建工具HBuilderX、编译器版本和实际命令
平台结果Android、iOS、HarmonyOS 分开列出
运行环境系统版本、签名方式、模拟器或物理设备
正常行为输入、可观察结果、重复调用后的状态
失败行为拒绝、取消、过期、离线或资源缺失
数据处理凭据保存位置、日志脱敏和退出清理

可以标注“编译通过”“模拟器已测”“真机已测”或“未验证”,并附对应环境。单台设备成功后,其他目标平台仍需要独立检查。安全存储还应确认系统解锁条件、值大小及删除行为。

发布和接手

交付包应包含源码、许可、依赖、README、示例和变更记录。接口变动要说明旧调用方如何迁移;新增系统权限要说明何时申请、拒绝后怎样继续;停止支持的平台要直接列在版本说明中。

在干净的示例项目里按 README 接入一次,再让不熟悉实现的开发者照着操作。对方缺少的目录、配置或命令就是需要补充的文档内容。然后可在自己的仓库发布可追踪版本,通过公开项目的贡献流程讨论通用改进。

源码参照:uni_modules与安全存储 README。这些移动端模块按应用构建流程使用;后端运行时插件有单独的接口和部署规则,不能用这份 ZIP 接入流程替代。

发布前让接手者完成这四步

  1. 按 README 找到模块目录,确认依赖和许可齐全。
  2. 在独立示例中执行一次成功调用和一次失败调用。
  3. 记录目标平台、工具链、系统版本与真实结果。
  4. 对照上一版本检查接口变化和本地补丁,验证升级后仍可调用。

后端扩展请阅读akone 插件开发指南,不要将移动端 ZIP 当成后端插件安装包。