Update README to reflect actual implementation

- Add release build instructions and signing configuration
- Complete AirTest testing setup instructions
- Document all settings options
- Correct file naming format description
This commit is contained in:
2026-03-15 23:28:56 +08:00
parent 4415f28d08
commit 07cd627f60

111
README.md
View File

@@ -4,18 +4,35 @@ CheckShot 是一个面向 Android 的图片处理与检查工具,包含水印
## 核心功能 ## 核心功能
- 水印设置 - **相机模块**
- 时间水印:拍摄后在左下角叠加时间戳,格式固定为 "yyyy年-MM月-dd日 HH:mm:ss"。 - 使用 CameraX 库实现拍照、自动/手动对焦、曝光调节
- 地点水印:优先通过 Geocoder 联网解析地址,失败时回落显示经纬度。可在设置中配置校准方式。 - 拍摄后自动叠加水印(时间+地点)
- 样式:提供三种预设样式(默认/简约/醒目),并可在设置中预览和应用。
- 多图拼图(合成)模块 - **水印处理**
- 布局规则:支持 2x2 和 3x3 两种网格布局,图片自动缩放裁剪以适配网格。 - **时间水印**:拍摄后在左下角叠加时间戳,格式固定为 "yyyy年-MM月-dd日 HH:mm:ss"
- 核心能力:图片拼接、模板化布局编辑(替换/删除图片)、合成质量控制(分辨率/清晰度)。 - **地点水印**:优先通过 Geocoder 联网解析地址,失败时回落显示经纬度。可在设置中配置校准方式
- 交互:支持替换网格中的图片、删除图片、添加新图片、设置合成质量和文本水印文本。 - **样式**:提供三种预设样式(默认/简约/醒目),并可在设置中预览和应用
- 设置与通用配置
- 水印设置、合成设置、通用设置、关于等配置项,均可通过设置界面调整。 - **多图拼图(合成)模块**
- 测试与自动化 - **布局规则**:支持 2x2 和 3x3 两种网格布局,图片自动缩放裁剪以适配网格
- 集成 AirTest 测试用例,覆盖水印、相册、拼图、设置等场景,便于回归验证。 - **核心能力**:图片拼接、模板化布局编辑(替换/删除图片)、合成质量控制(分辨率/清晰度)
- **交互**:支持替换网格中的图片、删除图片、添加新图片、设置合成质量
- **文字编辑模块**
- 在合成图片的顶部(标题)和底部(内容)添加带矩形背景的文字说明
- 支持智能换行,自动适应指定宽度
- 提供预设文字样式选择
- **图片管理**
- 本地存储、分类管理、预览、导出/分享
- 遵循分区存储规则,通过 MediaStore 保存至系统相册
- 文件命名规则:`巡检报告_{巡检主题}_{生成时间}.jpg`
- **设置与通用配置**
- 水印设置、合成设置、通用设置、关于等配置项,均可通过设置界面调整
- **测试与自动化**
- 集成 AirTest 测试用例,覆盖水印、相册、拼图、设置等场景,便于回归验证
--- ---
@@ -105,11 +122,53 @@ CheckShot 是一个面向 Android 的图片处理与检查工具,包含水印
## 快速开始 ## 快速开始
- 构建与运行 ### 构建与运行
- 构建调试 APK`./gradlew assembleDebug`
- 在设备/模拟器上安装:`adb install -r app/build/outputs/apk/debug/app-debug.apk` - **构建调试 APK**`./gradlew assembleDebug`
- AirTest 测试 - **构建发布 APK**`./gradlew assembleRelease`
- 运行测试用例(需安装 AirTest 及依赖):`airtest run test/airtest/... --device Android:///` - **在设备/模拟器上安装**`adb install -r app/build/outputs/apk/debug/app-debug.apk`
### 发布签名配置
本项目已配置自动签名,使用 `app/my-release.jks` 密钥库:
1. **生成签名密钥**(已配置):
```bash
keytool -genkeypair -v -alias my-key -keyalg RSA -keysize 2048 -validity 10000 -keystore my-release.jks
```
2. **签名配置**
- 在 `app/build.gradle.kts` 中配置了 `signingConfigs`
- 签名密码存储在 `gradle.properties` 中(不提交到版本控制)
3. **构建签名 APK**
```bash
./gradlew assembleRelease
```
构建产物:`app/build/outputs/apk/release/app-release.apk`
### AirTest 测试
- **安装依赖**
```bash
pip install airtest pocoui
```
- **运行测试用例**
```bash
# 确保设备已连接(模拟器或真机)
adb devices
# 运行拼图测试
airtest run test/airtest/test_puzzle_merge.py --device Android:///
```
- **手动测试脚本**
```bash
python test_android.py # 基础功能测试
python test_camera.py # 相机功能测试
python test_gallery.py # 相册功能测试
```
## 项目结构与升级 ## 项目结构与升级
@@ -119,6 +178,24 @@ CheckShot 是一个面向 Android 的图片处理与检查工具,包含水印
- test/airtest/... AirTest 的 UI 测试用例 - test/airtest/... AirTest 的 UI 测试用例
- README 作为版本演进的记录,后续变更请同步更新。 - README 作为版本演进的记录,后续变更请同步更新。
## 设置选项说明
### 水印设置
- **水印样式**:默认样式、简约样式、醒目样式
- **地点校准方式**
- 联网查询校准(默认)
- 经纬度+距离校准
### 合成与文字设置
- **默认合成布局**2x2 网格、3x3 网格
- **合成图片质量**高清95%、标准85%、流畅70%
- **默认文字样式**:分别为标题和内容提供预设样式选择
### 通用设置
- **默认巡检主题**:预设默认的巡检主题名称
- **巡检员信息**:填写姓名或工号(扩展项)
- **关于**:显示应用版本号、开发者信息
## 持续集成与发布 ## 持续集成与发布
- 建议在 CI 中执行编译、单元测试、AirTest 测试并在通过后打包发行版。 - 建议在 CI 中执行编译、单元测试、AirTest 测试并在通过后打包发行版。