first commit

This commit is contained in:
ytc1012
2025-11-13 15:45:28 +08:00
commit 6b321890c0
54 changed files with 8412 additions and 0 deletions

357
真实数据测试指南.md Normal file
View File

@@ -0,0 +1,357 @@
# 真实数据测试指南
## 📱 测试真实数据需要什么?
### ✅ 必须条件
1. **真实手机设备**Android 或 iOS
- 模拟器无法获取真实的系统使用数据
- Web 平台不支持系统 API
2. **安装应用到手机**
- 需要将应用安装到真实设备上
- 通过 USB 连接或构建 APK/IPA 安装
3. **授予系统权限**
- Android: "使用情况访问权限" (Usage Access)
- iOS: Screen Time API 权限
---
## 🚀 测试步骤
### 方式 1USB 连接调试(推荐,最简单)
#### Android 设备
```bash
# 1. 在手机上启用开发者选项和 USB 调试
# 设置 → 关于手机 → 连续点击"版本号"7次
# 设置 → 系统 → 开发者选项 → 启用"USB 调试"
# 2. 用 USB 连接手机到电脑
# 3. 检查设备连接
flutter devices
# 4. 运行应用到手机
flutter run -d <device-id>
# 或者直接运行(会自动选择设备)
flutter run
```
#### iOS 设备Mac 用户)
```bash
# 1. 在 iPhone 上:设置 → 通用 → VPN与设备管理 → 信任电脑
# 2. 连接 iPhone 到 Mac
# 3. 运行应用
flutter run -d <device-id>
```
**优点:**
- ✅ 实时调试
- ✅ 支持热重载
- ✅ 可以看到日志输出
- ✅ 无需手动安装
---
### 方式 2构建安装包适合分享测试
#### Android APK
```bash
# 1. 构建 APK
flutter build apk
# 2. APK 文件位置
# build/app/outputs/flutter-apk/app-release.apk
# 3. 传输到手机并安装
# - 通过 USB 传输
# - 通过云盘/邮件发送
# - 通过 ADB 安装adb install build/app/outputs/flutter-apk/app-release.apk
```
#### Android App Bundle用于 Google Play
```bash
flutter build appbundle
# 输出build/app/outputs/bundle/release/app-release.aab
```
#### iOS需要 Apple 开发者账号)
```bash
# 开发版本
flutter build ios
# 或者使用 Xcode 构建和签名
```
**优点:**
- ✅ 可以分享给他人测试
- ✅ 不需要连接电脑
- ✅ 可以测试真实使用场景
---
## 🔐 权限设置
### Android 权限设置
应用首次运行时,需要引导用户授予权限:
1. **应用内权限请求**
- 应用会自动显示权限引导界面
- 点击"去设置"按钮
2. **系统设置页面**
- 自动跳转到"使用情况访问权限"设置
- 找到 "AutoTime Tracker"
- 开启"允许使用情况访问"
3. **验证权限**
- 返回应用
- 应用会自动检测权限状态
- 如果已授予,进入主界面
**手动设置路径:**
```
设置 → 应用 → 特殊应用访问 → 使用情况访问权限 → AutoTime Tracker → 开启
```
### iOS 权限设置
1. **应用内权限请求**
- 应用会自动请求 Screen Time API 权限
- 用户需要明确授权
2. **系统设置**
- 设置 → 屏幕使用时间 → 应用限制
- 确保应用有访问权限
---
## 📊 测试真实数据
### 1. 安装并运行应用
```bash
# 连接设备后
flutter run
```
### 2. 授予权限
- 按照应用内的引导完成权限设置
### 3. 使用手机一段时间
- 正常使用手机上的各种应用
- 系统会自动记录使用数据
### 4. 查看数据
- 打开应用
- 查看"Today"页面,应该能看到真实的使用数据
- 查看"Stats"页面,查看历史统计
### 5. 验证功能
- ✅ 应用使用时间是否正确
- ✅ 分类是否正确
- ✅ 统计数据是否准确
- ✅ 图表是否正常显示
---
## 🧪 测试场景
### 场景 1基础功能测试
1. 安装应用
2. 授予权限
3. 使用手机 1-2 小时
4. 打开应用查看数据
### 场景 2分类测试
1. 使用不同类型的应用(工作、娱乐、社交等)
2. 检查分类是否正确
3. 手动调整分类(设置 → 应用分类)
4. 验证分类是否生效
### 场景 3目标测试
1. 设置每日总时长目标
2. 设置分类时间限制
3. 使用手机一段时间
4. 检查目标完成情况
### 场景 4数据导出测试
1. 使用应用一段时间,积累数据
2. 进入设置 → 数据导出
3. 导出 CSV 和统计报告
4. 验证导出文件内容
---
## ⚠️ 注意事项
### 数据延迟
- **Android**: 使用情况数据可能有几分钟延迟
- **iOS**: Screen Time 数据更新较慢
- **建议**: 使用手机一段时间后再查看数据
### 权限限制
- **Android**: 某些系统应用可能无法追踪
- **iOS**: Screen Time API 有严格限制
- **建议**: 测试时使用常见的第三方应用
### 后台限制
- 应用需要在后台运行才能持续追踪
- 某些手机系统会限制后台运行
- **建议**: 将应用添加到"白名单"或"不受限制"
### 电池优化
- 某些手机会自动优化电池,可能影响后台追踪
- **建议**: 在电池设置中,将应用设置为"不受限制"
---
## 🔧 调试技巧
### 查看日志
```bash
# 运行应用时查看日志
flutter run
# 或者单独查看日志
flutter logs
```
### 检查权限状态
在应用中:
- 设置 → 权限设置
- 查看权限是否已授予
### 验证数据同步
1. 使用手机一段时间
2. 打开应用
3. 点击刷新按钮
4. 查看数据是否更新
---
## 📝 测试清单
### 安装测试
- [ ] 应用可以正常安装
- [ ] 应用可以正常启动
- [ ] 没有崩溃或错误
### 权限测试
- [ ] 权限引导界面正常显示
- [ ] 可以跳转到系统设置
- [ ] 权限授予后应用可以正常使用
### 数据追踪测试
- [ ] 可以获取应用使用数据
- [ ] 数据时间戳正确
- [ ] 应用名称显示正确
- [ ] 使用时长计算准确
### 分类测试
- [ ] 自动分类正确
- [ ] 可以手动修改分类
- [ ] 分类修改后生效
### 统计测试
- [ ] 今日统计正确
- [ ] 周统计正确
- [ ] 图表显示正常
- [ ] 效率评分计算正确
### 功能测试
- [ ] 目标设置功能正常
- [ ] 数据导出功能正常
- [ ] 设置保存正常
---
## 🎯 快速测试流程
```bash
# 1. 连接手机
flutter devices
# 2. 运行应用
flutter run
# 3. 在手机上:
# - 授予权限
# - 使用手机 10-15 分钟
# - 打开应用查看数据
# 4. 验证数据是否正确显示
```
---
## 💡 提示
1. **首次测试建议使用物理设备**,模拟器无法获取真实系统数据
2. **测试前确保手机有足够的电量**,避免测试中断
3. **建议测试多种应用类型**,验证分类功能
4. **测试时间建议 1-2 小时**,积累足够的数据
5. **可以导出数据验证准确性**,检查 CSV 文件内容
---
## 🐛 常见问题
### Q: 应用显示"无数据"
**A:**
- 检查权限是否已授予
- 等待几分钟,数据可能有延迟
- 使用一些应用,确保有使用记录
### Q: 某些应用无法追踪
**A:**
- 系统应用可能无法追踪(这是系统限制)
- 某些受保护的应用可能无法追踪
- 这是正常现象
### Q: 数据不准确
**A:**
- 检查时间同步是否正确
- 验证应用分类是否正确
- 检查是否有重复记录
### Q: 应用在后台被杀死
**A:**
- 将应用添加到电池优化白名单
- 允许应用后台运行
- 检查系统后台限制设置
---
**总结:测试真实数据需要安装到真实手机设备上,通过 USB 连接运行是最简单的方式。** 📱