Files
AutoTime-Tracker/真实数据测试指南.md
2025-11-13 15:45:28 +08:00

358 lines
7.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 真实数据测试指南
## 📱 测试真实数据需要什么?
### ✅ 必须条件
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 连接运行是最简单的方式。** 📱