ScrollSnap 是一个基于 Android + Shizuku 的长截图工具:通过自动滑动与连续截图,拼接生成长图并保存到相册。
- 悬浮球快速触发截图
- 自动滑动 + 连续捕获
- OpenCV + Native 双路径重叠估计拼接
- 支持手动停止(双击顶部区域)
- 设置页支持语言、拼接参数与调试模式
- Kotlin + Jetpack Compose
- Android Foreground Service / TileService
- Shizuku(执行
input swipe/screencap) - OpenCV + JNI(C++)
- Android Studio(含 JDK 17)
- Android SDK(
compileSdk=35) - 可用的 Shizuku 服务与授权
.\gradlew.bat :app:assembleDebug- 复制
keystore.properties.example为keystore.properties - 填写签名参数(
storeFile/storePassword/keyAlias/keyPassword) - 执行:
.\gradlew.bat :app:assembleRelease说明:
keystore.properties和*.jks已加入.gitignore,不会入库- 当前正式版本:
v1.0.0(versionCode=10000) - 后续发版需递增
versionCode
- 安装并启动 Shizuku
- 打开 App,完成引导授权:
- 悬浮窗权限
- 通知权限(Android 13+)
- Shizuku 权限
- 点击“打开悬浮按钮”开始使用
- 设置页提供“调试模式”开关
- 开启后,每次截图会将诊断日志自动复制到剪贴板
app/src/main/java/com/scrollsnap/core/capture:捕获与流水线app/src/main/java/com/scrollsnap/core/stitch:拼接算法与参数app/src/main/java/com/scrollsnap/core/shizuku:Shizuku 执行层app/src/main/java/com/scrollsnap/feature/control:悬浮窗/控制服务app/src/main/java/com/scrollsnap/ui/theme:主题与配色
- 长截图质量受页面动态内容、滚动速度、设备性能影响
- 不同厂商 ROM 的截图/输入行为存在差异
- Release 构建已开启混淆与资源压缩,请保留
proguard-rules.pro规则
- 固定下载地址(GitHub Release):https://github.com/li-junlei/scrollsnap/releases
- App 启动会自动检查 GitHub tag 版本更新
- 设置页支持手动检查更新,并提供:
- 跳过此版本(该版本不再提醒)
- 下载(打开对应 Release 页面)
- 取消
- 安装说明:
docs/INSTALL.md - 隐私说明:
docs/PRIVACY.md