把项目中的一段原生能力交给别人使用,需要同时交付接口、依赖、示例和验证记录。本文以 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 接入流程替代。
发布前让接手者完成这四步
- 按 README 找到模块目录,确认依赖和许可齐全。
- 在独立示例中执行一次成功调用和一次失败调用。
- 记录目标平台、工具链、系统版本与真实结果。
- 对照上一版本检查接口变化和本地补丁,验证升级后仍可调用。
后端扩展请阅读akone 插件开发指南,不要将移动端 ZIP 当成后端插件安装包。
