小盾:讨好

Download & Install

下载与安装

当前提供 Android 与 Linux 本地产物。Windows / macOS 包由 CI 手动打包;iOS 走备份导入,不提供独立安装包。下载后请先核对 SHA-256。

v1.0.3 · 2026-10-16

选择你的平台

本页文件来自 v1.0.3 本地构建。Android 包为 debug 证书签名,适合本地自用;对外分发须使用正式签名。AAB 为商店上架材料。

AndroidAPK · arm64

arm64 APK

仅含 lib/arm64-v8a,体积更小;适合绝大多数现代 Android 手机。

23,405,995 B · versionName 1.0.3 · versionCode 19

下载 APK
sha256 8da051203129cc50e651fcc326f2c4be356f3c3ae4fc32477b02cf236f001a1b
AndroidAAB · 商店

App Bundle · AAB

三 ABI 上架包,供应用商店分发使用;普通用户请下载上面的 APK。

67,059,984 B · applicationId xyz.erik.ssd

下载 AAB
sha256 d6bf8a44d0b695e435e0490f5b9cac697b7caaeb81cd73fac72e657ae3905b57

本版未随附:x86_64 单独 APK 与 Linux 便携 tar.gz 未在本版发布。需要时可按下方「从源码构建」自行产出;Windows / macOS 包由 CI 手动打包,不在当前下载区。

完整性校验

先核对,再安装

下载目录内提供 SHA256SUMS(下载校验和文件)。校验不通过请不要安装,重新下载。

cd 下载目录
sha256sum -c SHA256SUMS
# 预期每个文件都显示:OK
# 也可以单独核对
sha256sum ssd-1.0.3-all-abi.apk
# 14a5757b9c4d0a427490738868647bc112771a606d54462c6a142cf578a97d6e

签名说明:Linux 发布侧另提供 SHA256SUMS 的 SSHSIG 签名(随发布 bundle)。核验命令:

ssh-keygen -Y verify -f allowed_signers \
  -I erik@erik.xyz -n erik-xyz-provenance \
  -s SHA256SUMS.sig < SHA256SUMS

预期 Good "erik-xyz-provenance" signature。apt / dpkg 默认不校验逐包签名,本包未做逐包签名。

Android

侧载 APK

安装步骤

  1. 下载通用 APK 或 arm64 APK。
  2. 在系统设置中允许对应来源安装未知应用。
  3. 点开 APK 安装;如已安装旧版,覆盖安装即可。
  4. 打开应用,插入 U 盘 / 读卡器,或选择「从文件夹恢复」。

说明与边界

  • 包名 xyz.erik.ssd,targetSdk 36;仅申请 framework 注入的接收器权限,零 INTERNET。
  • 当前为 Android Debug 证书签名:本地自用可装,对外分发须正式签名。
  • Android root 块设备扫描未接通;非 root 源未实装。Android 10+(FBE)删除内容通常无法恢复。
  • AAB 是商店上架材料,不是给普通用户侧载的安装包。
# 也可以用 adb 安装
adb install -r ssd-1.0.3-all-abi.apk

Linux

deb 一体化安装

v1.0.3 起,deb 同时包含桌面应用与引擎。安装完成后在应用菜单搜索「ssd」即可打开。

安装

sudo dpkg -i ssd_1.0.3_amd64.deb
# 如提示依赖缺失:
sudo apt -f install

载荷位置:/opt/ssd(GUI)、/usr/libexec/ssd(daemon / writer / cli)、polkit、udev、菜单入口与图标。

卸载与状态

sudo dpkg -r ssd

试用账本、许可证与偏好保存在用户目录,卸载 / 升级不会删除。升级直接覆盖安装即可。

如菜单未立即出现,注销重新登录或运行 update-desktop-database。deepin 启动器搜索只认应用名,请搜「ssd」。

从源码构建

开发环境与命令

Rust stable(edition 2024,≥ 1.97)+ Flutter 3.47.5 stable(CI 固定此版本;其他版本未验证)。

桌面(Linux)

cargo build -p xd-daemon
bash scripts/build-deb.sh
# 或直接跑 UI:
cd ui && flutter run -d linux

Android

cd ui
flutter build apk --release \
  --dart-define=SSD_VERSION=1.0.3
flutter build appbundle --release \
  --dart-define=SSD_VERSION=1.0.3

Windows / macOS

# CI:Actions → CI → Run workflow
# 勾选 packaging=true
# 产物:
# ssd-v1.0.3-windows-x64.zip
# ssd-v1.0.3-macos-arm64.zip
# ssd-v1.0.3-macos-x64.zip

当前为未签名包;Windows SmartScreen 选「仍要运行」,macOS 15+ 到「系统设置 → 隐私与安全性 → 仍要打开」。

测试

cargo test --workspace
bash scripts/e2e.sh
cd ui && flutter test

完整测试与 e2e 说明见仓库 README;真机路径未验证项以发布说明为准。

常见问题

安装时可能遇到的几件事

Android 提示「未安装」

先卸载同包名的旧版再装,或确认系统已允许该来源。包名自 v0.7.0 起为 xyz.erik.ssd。

Linux 菜单里搜不到

deepin 启动器只搜应用名(Name=ssd)。请搜「ssd」而不是「小盾」;若仍无,注销重登。

macOS 说应用已损坏

这是未签名包的 Gatekeeper 提示。到「系统设置 → 隐私与安全性 → 仍要打开」,或执行 xattr -dr com.apple.quarantine <app>。

Windows 出现 SmartScreen

当前包未签名。点「更多信息 → 仍要运行」;正式签名 / 公证凭据尚未配置。

引擎找不到

桌面端按「显式参数 → XD_DAEMON_BIN → 同目录 → /usr/libexec/ssd/xd-daemon」查找。用户级解压包需自备同目录 daemon。

试用导不出来

桌面版试用需要首启联网取时锚定;未锚定前试用导出不可用。锚定后试用期为 7 天 ∧ 3 次导出会话 ∧ 20 件 / 1 GiB。

小盾:笑

装好了,下一步是扫描