S

SOLease

管理员控制台 · 不是给买卡用户用的

终端用户只在手机 APP 里输入卡密,不要把这个网址发给他们。

先分清两件事

这个网站只给你(做软件的人)用。买卡的人永远看不到这里。

你 · 在这个后台

建应用、把功能包加密上传、生成卡密、把 SDK 接到 APK 里。做完一次,以后只发卡、禁用、解绑。

买卡用户 · 只在手机里

打开你的 APP,输入卡密。验证通过后功能才出现。他们没有账号登录这个控制台。

0应用
0卡密
0正在使用

按这个顺序做,做完就能卖卡

  1. 创建应用 — 名称随便起;包名必须和 APK 的 applicationId 一模一样
  2. 上传功能 — 自己的功能 so,或云配置 json。不要把完整可跑的功能打进 APK。
  3. 发卡 — 生成卡密,把卡号发给用户(微信/发卡网都行)。
  4. 对接 APK — 把 sdk/android 拷进工程,复制那一页的 Java。用户端只要一个输入框 + 确定。

已有应用

加载中…

1. 创建应用

一条产品建一个应用。包名填错,手机登录会提示模块不匹配。

新建

拿不准就选第一个。蜂鸟那种 LSPatch 侧车、真正要藏的是 json 配置,选第二个。

我的应用

点一行,会带到「上传」和「发卡」里。

2. 上传功能

文件一进服务器就加密。APK 里不要再带一份能直接跑的功能 so。

选应用

方式 A · 上传 so 或配置

功能 so:libfeature.so(arm64)。云配置:一个 json,或好多 json 打成 zip。版本号填 APK 的 versionName,例如 1.0.0。

方式 B · 丢整个 APK,后台自动抽

适合功能已经在包里、你想让服务器拆出来加密。不会动闪购模块 / origin / 系统 so。抽完仍要在 APK 里接 SDK(下一步)。

已经加密存放的模块

3. 发卡给用户

生成的一串字符就是用户在 APP 里填的卡密。一张卡默认一台真机,换机先解绑。

生成

库存

4. 对接 APK

用户端不是这个网站。用户端是:打开你的 APP → 输入卡密 → 点确定。

选要对接的应用

拷进工程的东西

  1. 把仓库里的 sdk/android 整个模块加进 Android Studio(或把 Java + libsolease.so 拷进去)。
  2. 点下面「下载公钥文件」,放到 src/main/assets/solease_ed25519.pub(必须是 32 字节原文件,不要把 hex 文本改名)。
  3. APK 不要再打包 libfeature.so 或本地 cloud/*.bin
  4. 做一个很普通的界面:输入框 + 按钮,按钮里调用 Seal.login

复制这些参数

接口
app_id
TLS pin

Java · 复制到 Application 和登录按钮

用户在手机上看到的就这些

不要做注册、不要跳转到本站。卡密填错会回调 onFail。

你的 APP
卡密

onFail 错误码(给用户看的话术)

原因跟用户怎么说
2001卡密无效 / 过期 / 禁用卡密不对或已到期
2002解绑次数用完联系客服解绑
2003模拟器 / 未锁机请用未解锁的正版真机
2004包名或版本没有对应模块请更新 APP
2005心跳失败网络中断,重新登录
2007不是 HTTPS 或 pin 不对检查 Seal.init 的网址和 pin