简体中文 | 繁體中文 | English | 日本語 | 한국어 | Deutsch | Français | Español | Русский | Português
OldSend 的手表进化版。保留全部硬核传输能力,将 UI 彻底重塑为 Wear OS 原生的“3D 滚轮”与“药丸卡片”形态,为小屏幕与圆表盘而生。
本项目由 AI 辅助生成。
遵循 AI 开发规范,在此明确披露:
- AI 深度参与部分:手表专属的 3D 滚轮算法、预测性返回动画、纯 Java 动态渲染的药丸卡片布局、硬件适配逻辑、Shizuku 纯手写 Binder 代理、物理级 UI 缩放重构以及完整的 CI/CD 流水线。
- 开发者负责部分:需求定义、真机测试(手表/手机)、功能验收、Bug 定位与最终发布决策。所有 AI 生成的代码均经过人工审阅与真机调优。
关于 AI 参与的详细范围与比例,请务必查阅 docs/AI_DISCLOSURE.md。
当前版本:v1.4.0。
本项目是 OldSend 的 Watch Edition(手表版)。OldSend 的协议栈、HTTP 服务、组播发现、跨网传输等核心业务逻辑均被完整继承,UI 层与包名(org.watchsend)进行了彻底重构。
完整版本历史请见 CHANGELOG.md。
- 表冠滑动支持 (Rotary Input):完美适配 Wear OS 3+ 的旋转表冠,拨动表冠即可丝滑滚动列表,告别手指遮挡。
- 全局触觉反馈 (Haptic):点击、传输成功、失败均有精细的震动反馈,无需时刻盯着屏幕确认状态。
- 传输屏幕常亮:文件传输期间强制屏幕常亮,传输结束自动恢复省电逻辑。
- 快捷磁贴 (Tiles):支持下拉快捷面板一键唤起 WatchSend,适配 Android 7.0+(老设备自动降级忽略)。
- 低性能模式:一键关闭 3D 滚轮、预测性返回等复杂动画,保障老旧设备流畅度。
- 息屏微光模式:传输时息屏仅保留进度条,抬腕亮屏恢复。
- 语音输入:支持系统语音转文字输入。
- 静默安装 (Beta):支持通过 Root 或 Shizuku 权限,在接收 APK 后实现无感后台安装(纯手写 Binder IPC 代理)。
- 原生 ZIP 解压:收到压缩包无需导出,在接收完成页或历史记录长按,直接调用纯 Java 引擎安全解压(内置防路径穿越漏洞)。
- 网页端 10 语种自适应:内置 WebShare 前端已全面支持 10 国语言,自动识别浏览器语言,支持拖拽上传与剪贴板同步。
- 历史快捷管理:长按接收记录可快速分享文件或删除记录,ZIP 文件自动显示 📦 标识。
- Debug Keys 模式:设置中可选的语言选项,切换后全界面直接显示底层词条 Key,极客查缺补漏神器。
- 物理级 UI 缩放:重构底层 Context,内置滑动条,可在 0.3x ~ 2.5x 之间实时调整整个 App 的字体与控件大小,完美绕过 Android 11+ 系统限制。
- 深色模式三态切换:支持「跟随系统 / 强制浅色 / 强制深色」模式,完美适配系统日夜切换。
- 动态取色 (Material You):升级系统主题配置,成功解锁 Android 12+ 的动态取色,随壁纸/表盘变色。
- 3D 滚轮特效:上下滑动时,边缘卡片自动缩小并降低透明度,还原原生物理滚轮感。
- 圆屏沉浸优化:一键开启后,界面自动向内收缩,避免文字与按钮被圆形表盘切割。
- 跟手滑动返回 & 预测性返回:支持全局滑动退出,卡片缩小浮起,模拟系统级 Predictive Back 动画。
- 全量 10 种语言变体:完美适配中、繁、英、日、韩、德、法、西、俄、葡,无死角覆盖。
- 6 位一次性密码:无需公网 IP,跨广域网传文件。
- 公网 P2P 直连:支持 FRP/Ngrok/ZeroTier 等内网穿透。
- UPnP / STUN / IPv6:自动端口映射、NAT 探测与原生 IPv6 直连。
- 完美兼容:完整兼容 LocalSend v1/v2.2 协议。
- 极低兼容:最低支持 Android 2.3 (API 10)。
- 白/黑名单与后缀拦截:长按设备即可拉黑,自定义危险后缀(exe/bat 等)自动拦截。
打开 App,确保与对方处于同一 Wi-Fi 或已配置好跨网通道。点击“启动”后,列表会自动发现设备,点击设备即可发送文件。
在电脑浏览器输入 App 首页显示的局域网 IP 及端口(如 http://192.168.1.100:53317),即可打开极简网页端。支持拖拽上传、多文件并发进度条、手机剪贴板同步。主界面点击 IP 可快速复制链接。
- 密码模式:发送端生成 6 位密码,接收端输入密码即可连接。
- 直连模式:双方配置好公网 IP/UPnP 后,输入
[IP]:53317极速直连。
与 OldSend 保持一致,本项目使用 AGP 3.6.3 + Gradle 5.6.4 + JDK 8 的古早工具链,以维持对 minSdkVersion 10 的支持(compileSdk 与 targetSdk 已提升至 30 以适配现代规范)。
项目现已接入全自动的 GitHub Actions 发版流水线:
- 你只需要修改
CHANGELOG.md顶部的版本号并 Push。 - CI 会自动提取版本号,注入到
build.gradle和 App 的“关于”页面。 - 自动解密签名文件、编译出 Release APK。
- 自动打 Git Tag,并发布到 GitHub Release 页面供下载。
(注:维护者需在仓库 Secrets 中配置 NAS_KEYSTORE_BASE64 等签名参数)
- 极客实验性质:跨网功能依赖第三方公共设施(ntfy.sh)或用户的公网配置,稳定性不保证;Shizuku 静默安装受限于不同 ROM 的限制,部分设备可能被拦截降级。
- 硬件代沟:部分老旧设备不具备震动马达或旋转表冠;快捷磁贴仅支持 Android 7.0+,系统会自动忽略不支持的组件。
- TLS 代沟:Android 2.3 原生仅支持 TLS 1.0,开启 HTTPS 会导致旧设备握手失败。
- 手表算力瓶颈:3D 滚轮特效与预测性返回动画对 GPU 有一定要求,极低端手表请务必开启“低性能模式”。
总结:WatchSend 适合极客折腾、手表文件互传或怀旧场景。日常跨平台传输,建议使用官方原版 LocalSend。
- CHANGELOG.md —— 版本更新记录
- CONTRIBUTING.md —— 贡献指南与提交规范
- docs/AI_DISCLOSURE.md —— AI 生成声明与参与细节
- docs/DEVELOPMENT_CONSTRAINTS.md —— 开发环境约束与测试覆盖说明
- OldSend 原项目 —— 协议栈与业务逻辑的来源
本项目使用 MIT License。
本项目完美兼容 LocalSend 协议。特别感谢开源项目 LocalSend 提供的优秀协议规范(Apache-2.0 授权)。OldSend 与 WatchSend 均为独立从零实现,未直接复制其源码。