Skip to content

devcxl/PhotoSync

Repository files navigation

PhotoSync


PhotoSync 是一款 Android 相机伴侣应用,专为摄影师和影像爱好者设计。通过 USB PTP 协议直连相机,无需 Wi-Fi、无需电脑客户端,即可在手机/平板上即拍即传、浏览缩放预览、导出或删除 RAW/JPEG 照片。

功能亮点

  • USB PTP 直连 — 基于 USB PTP 协议直连相机,即插即用,无需网络
  • 即拍即传 — 相机拍摄后自动传输至本机,实时浏览
  • RAW 解码 — LibRaw + lcms2 色彩管理,支持 ARW、CR3、NEF、DNG、RAF 等 20+ 格式
  • 流畅阅片 — 缩略图优先加载,JPEG 分块渲染,支持双指缩放和平移
  • 无损导出 — JPEG 直接拷贝至系统相册,RAW 解码后保存,无压缩、无云端上传
  • 照片管理 — 支持从本机删除照片

适用场景

  • 外出拍摄时即拍即看,不耗相机屏幕电量
  • 现场将 RAW/JPEG 快速导入平板或大屏设备查看
  • 批量导出照片到本地,无压缩、无云端上传

快速上手

  1. 用 USB 线将相机连接到手机/平板
  2. 在相机上选择"PC 连接"或"PTP/MTP"模式
  3. 打开 PhotoSync,自动识别设备,开始浏览和导出

技术栈

类别 技术
语言 Kotlin 2.0 / C++ / JNI
UI XML + ViewBinding / Jetpack Compose
异步 Coroutines + Flow
数据库 Room
图像处理 LibRaw 0.21.4 + lcms2 2.18 + OpenCV 4.12.0
架构 MVVM + Clean Architecture
最低版本 Android 7.0(API 24)

支持的 RAW 格式

Sony (ARW/SR2) · Canon (CR2/CR3) · Nikon (NEF/NRW) · Fujifilm (RAF) · Panasonic (RW2) · Adobe (DNG) · Olympus (ORF) · Samsung (SRW) · Pentax (PEF) · Leica (RWL) · Hasselblad (3FR) · 以及更多

项目结构

PhotoSync/
├── app/                    # 主应用模块
│   └── src/main/java/cn/devcxl/photosync/
│       ├── activity/       # Activity、ViewModel
│       ├── adapter/        # RecyclerView / ViewPager 适配器
│       ├── data/           # Room 数据库、DAO、Entity
│       ├── ptp/            # USB PTP 协议实现与连接管理
│       ├── receiver/       # USB 广播接收器
│       └── utils/          # 工具类
├── libraw/                 # Native 库模块(LibRaw + lcms2)
│   └── src/main/
│       ├── cpp/            # JNI 桥接 + CMake 构建
│       └── java/           # RawWrapper Kotlin 封装
└── gradle/
    └── libs.versions.toml  # 依赖版本管理

构建

# 前置条件:Android SDK、NDK、CMake 3.22+
# 首次克隆需初始化子模块
git submodule update --init --recursive

# Debug APK
./gradlew assembleDebug

# Release AAB (Google Play)
./gradlew bundleRelease

# 运行单元测试
./gradlew testDebugUnitTest

# Lint 检查
./gradlew lintDebug

生成的 Debug APK 位于 app/build/outputs/apk/debug/app-debug.apk。 Release AAB 位于 app/build/outputs/bundle/release/app-release.aab

About

Android camera companion — browse, preview & export RAW/JPEG via USB PTP. Auto-transfer on capture, no network, no desktop software. | Android 相机伴侣,USB PTP 直连相机,即拍即传、浏览预览、导出 RAW/JPEG 照片。无需网络,无需电脑客户端。

Topics

Resources

Stars

6 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors