# CheckShot - Android 图片检查与拼图工具 CheckShot 是一个面向 Android 的图片处理与检查工具,包含水印处理、拼图合成、以及丰富的设置能力,配合 AirTest 自动化测试用例,帮助实现端到端的图像工作流。 ## 功能特点 - **相机模块**:使用 CameraX 库实现拍照、自动/手动对焦、曝光调节,拍摄后自动叠加水印(时间+地点) - **水印处理**:支持时间水印(格式固定为 "yyyy年-MM月-dd日 HH:mm:ss")和地点水印(优先联网解析,失败时显示经纬度),提供三种预设样式 - **多图拼图(合成)模块**:支持 2x2 和 3x3 网格布局,图片自动缩放裁剪,支持图片替换、删除、添加和质量控制 - **文字编辑模块**:在合成图片的顶部(标题)和底部(内容)添加带矩形背景的文字说明,支持智能换行 - **图片管理**:本地存储、分类管理、预览、导出/分享,遵循分区存储规则通过 MediaStore 保存至系统相册 - **设置与通用配置**:水印设置、合成设置、通用设置、关于等配置项均可通过设置界面调整 - **测试与自动化**:集成 AirTest 测试用例,覆盖水印、相册、拼图、设置等场景,便于回归验证 ## 安装步骤 1. **克隆项目**: ```bash git clone http://124.223.26.33:3000/xiaji/anroid-CheckShot.git cd anroid-CheckShot ``` 2. **构建调试 APK**: ```bash ./gradlew assembleDebug ``` 3. **安装到设备**: ```bash adb install -r app/build/outputs/apk/debug/app-debug.apk ``` 4. **安装 AirTest 依赖(用于测试)**: ```bash pip install airtest pocoui ``` ## 使用示例 ### 基本使用 1. **启动应用**:在 Android 设备/模拟器上安装并打开 CheckShot 2. **拍照**:点击相机按钮拍照,自动添加水印 3. **拼图**:选择多张图片进行拼图合成 4. **查看相册**:浏览和管理拍摄的照片 ### 构建发布 APK ```bash # 构建签名 APK(需配置好 keystore) ./gradlew assembleRelease # 构建产物位置 app/build/outputs/apk/release/app-release.apk ``` ### 运行测试 ```bash # 确保设备已连接 adb devices # 运行 AirTest 拼图测试 airtest run test/airtest/test_puzzle_merge.py --device Android:/// # 运行手动测试脚本 python test_android.py # 基础功能测试 python test_camera.py # 相机功能测试 python test_gallery.py # 相册功能测试 ``` ## 目录结构 ``` anroid-CheckShot/ ├── app/ # App 模块 │ ├── src/main/ # 主代码 │ │ ├── java/ # Kotlin/Java 代码 │ │ └── res/ # 资源文件 │ ├── build.gradle.kts # App 级构建配置 │ └── my-release.jks # 签名密钥(本地) ├── test/ # 测试代码 │ └── airtest/ # AirTest UI 测试 ├── gradle.properties # Gradle 属性(含签名配置) ├── build.gradle.kts # 项目级构建配置 ├── settings.gradle.kts # 项目设置 └── README.md # 项目说明 ``` ## 贡献指南 1. Fork 项目仓库 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 提交 Pull Request ## 常见问题 (FAQ) **Q: 如何配置签名?** A: 项目已配置自动签名,签名密钥文件 `my-release.jks` 在 `app/` 目录下,密码在 `gradle.properties` 中配置。 **Q: 如何修改水印样式?** A: 在设置界面中选择水印样式(默认/简约/醒目),可实时预览效果。 **Q: AirTest 测试失败怎么办?** A: 确保设备已连接且已安装 AirTest 依赖,检查设备是否开启开发者选项和 USB 调试。 **Q: 拼图功能支持哪些布局?** A: 支持 2x2 和 3x3 网格布局,图片会自动缩放裁剪以适配网格。 ## 联系方式/反馈渠道 - 项目仓库:http://124.223.26.33:3000/xiaji/anroid-CheckShot.git - 问题反馈:请在仓库中提交 Issue - 代码贡献:欢迎提交 Pull Request --- **注意**:请妥善保管签名密钥文件 (`my-release.jks`) 和密码,这些文件已添加到 `.gitignore` 中,不会被提交到版本控制。