无需流量 · 无需云端 · 局域网直连 · 三端互通
同项目的另外三端: iOS · SwiftUI · HarmonyOS · ArkTS · 电脑端网盘 · PhotoTransDrive
⚠️ 预览版(Pre-release):本版本未经更深层的完整验证,如遇到任何问题,欢迎到 Issues 及时反馈(附上日志更好)。
各家手机品牌的照片封装格式各不相同——华为的 HDR+、苹果的 HEIC/Live Photo、小米/OPPO/vivo 的动态照片——互相传时要么打不开、要么丢元数据。PhotoTrans 在传输时自动做格式转译,让任意两台手机之间都能无缝传照片,同时保留 HDR、动态效果等原始信息。
普通文件和文件夹也能直接传,不限于照片。
| 特性 | 说明 |
|---|---|
| 🔗 跨平台互通 | 与 iOS / HarmonyOS 版协议完全兼容,三端互传 |
| 🏷 品牌格式转译 | HEIC⇄JPEG、动态照片解析、HDR 元数据保留 |
| 🧠 离线格式识别 | 基于文件头魔数,不联网、不依赖云端 |
| 📁 全类型传输 | 照片 / 视频 / 动态图 / HDR / 任意文件 / 整个文件夹 |
| 📶 双模式连接 | 近场:同 Wi-Fi 自动发现 · 远场:扫码 / 输入 IP 直连 |
| 🔒 隐私优先 | 纯局域网 P2P,文件不经任何服务器 |
| 📚 可学习模型库 | 支持持续学习新设备格式,本地存储 |
配合电脑端 PhotoTransDrive 使用:手机直连电脑上的文件夹,在家直连、出门经桥访问,文件不经任何服务器。手机端用法见 网盘使用指南。
从 Releases 页直接下载 APK 安装:
当前版本 android-v1.0.2 · 含全部 bug 修复(握手校验 / 读超时 / 非 2xx 不误报成功 / 背压防 OOM)
- 用 Android Studio 打开本项目目录
- 同步 Gradle(需 JDK 17、Android SDK 34)
- 连接设备或启动模拟器
- 点击 Run
# 命令行构建
./gradlew assembleDebugapp/src/main/java/com/phototrans/
MainActivity.kt 主 Activity
CrashHandler.kt 全局崩溃捕获
model/LocalModelStore.kt 格式检测模型本地存储
format/FormatDetector.kt 格式检测(魔数)
format/FormatConverter.kt 格式转译(HEIC→JPEG / HDR / 动态照片)
ui/ 设备列表 / 品牌选择 / 模型管理 / 设置
service/LearningService.kt 格式学习后台服务
service/TransferService.kt 传输前台服务
transport/WifiDirectTransport.kt 传输层(TCP + PT-HI 握手 + HTTP PUT)
握手 S→R: PT-HI <deviceName>\n
R→S: PT-HI <deviceName>\n
传输 S→R: PUT /<filename> HTTP/1.1\r\nContent-Length: <n>\r\n\r\n<raw bytes>
R→S: HTTP/1.1 200 OK\r\n\r\n
- UDP 发现:端口 47809,beacon
PT-BEACON|name|brand|ip|port|,每 2s 广播,8s 超时清理 - TCP 传输:端口 47808,同一 socket 双向 PT-HI 握手后开始 PUT