SnapSort 是一款面向相机照片整理场景的 Android 选片应用。它适合在拍摄后把相机照片导入手机文件夹,再快速浏览 JPG/JPEG、按时间分组筛选、标记废片,点击完成后会一并删除对应的RAW文件。
- 选择本地照片文件夹并扫描 JPG/JPEG 文件
- 按拍摄时间将照片分组,便于处理连拍和同一批次照片
- 在选片界面快速标记或取消标记待删除照片
- 删除前展示 JPG、RAW 和总文件数量,降低误删风险
- 支持跟随系统的浅色、深色和动态色主题
当前仓库未包含 gradlew,可使用本机 Gradle 执行构建:
/home/cat/.gradle/wrapper/dists/gradle-8.12-all/btiplb0pmjji56hfpl9949cgc/gradle-8.12/bin/gradle :app:assembleDebug推荐使用打包脚本自动生成版本号并编译 release APK:
scripts/build-apk.sh脚本默认生成:
versionCode: 当前 Unix 秒时间戳versionName:vYYYY.MM.DD-HHMM
如需指定显示版本名:
scripts/build-apk.sh --name v2.1编译 debug APK:
scripts/build-apk.sh --debug也可以继续直接调用 Gradle 编译 release APK:
/home/cat/.gradle/wrapper/dists/gradle-8.12-all/btiplb0pmjji56hfpl9949cgc/gradle-8.12/bin/gradle :app:assembleReleaserelease 签名信息从根目录的 keystore.properties 读取。该文件和 .jks 证书不会提交到 Git。
cp keystore.properties.example keystore.properties然后按本地证书信息填写:
storeFile=release-keystore.jks
storePassword=your-store-password
keyAlias=snapsort
keyPassword=your-key-passwordrelease APK 输出位置:
app/build/outputs/apk/release/
先编译 release APK:
scripts/build-apk.sh --release --name v2.1再把 APK 上传到 GitHub Release:
scripts/upload-release-apk.sh v2.1如果目标 release 不存在,脚本会自动创建 release 并上传 APK。默认沿用 gh release create
的行为:当 Git tag 不存在时,GitHub CLI 会从默认分支自动创建 tag。
同时用 Markdown 文件更新 release 说明:
scripts/upload-release-apk.sh v2.1 --notes-file release-notes/v2.1.md也可以直接传入更新说明文本:
scripts/upload-release-apk.sh v2.1 --notes "修复照片选择体验,并优化 release 打包流程。"如果 release 不在当前 Git remote 对应的仓库,指定目标仓库:
scripts/upload-release-apk.sh v2.1 --repo OWNER/REPO如果同名 asset 已经存在,脚本默认覆盖上传。需要禁止覆盖时:
scripts/upload-release-apk.sh v2.1 --no-clobber要求 Git tag 必须已经存在,否则不创建 release:
scripts/upload-release-apk.sh v2.1 --verify-tag