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

7.1 KiB
Raw Blame History

真实数据测试指南

📱 测试真实数据需要什么?

必须条件

  1. 真实手机设备Android 或 iOS

    • 模拟器无法获取真实的系统使用数据
    • Web 平台不支持系统 API
  2. 安装应用到手机

    • 需要将应用安装到真实设备上
    • 通过 USB 连接或构建 APK/IPA 安装
  3. 授予系统权限

    • Android: "使用情况访问权限" (Usage Access)
    • iOS: Screen Time API 权限

🚀 测试步骤

方式 1USB 连接调试(推荐,最简单)

Android 设备

# 1. 在手机上启用开发者选项和 USB 调试
#    设置 → 关于手机 → 连续点击"版本号"7次
#    设置 → 系统 → 开发者选项 → 启用"USB 调试"

# 2. 用 USB 连接手机到电脑

# 3. 检查设备连接
flutter devices

# 4. 运行应用到手机
flutter run -d <device-id>

# 或者直接运行(会自动选择设备)
flutter run

iOS 设备Mac 用户)

# 1. 在 iPhone 上:设置 → 通用 → VPN与设备管理 → 信任电脑

# 2. 连接 iPhone 到 Mac

# 3. 运行应用
flutter run -d <device-id>

优点:

  • 实时调试
  • 支持热重载
  • 可以看到日志输出
  • 无需手动安装

方式 2构建安装包适合分享测试

Android APK

# 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

flutter build appbundle
# 输出build/app/outputs/bundle/release/app-release.aab

iOS需要 Apple 开发者账号)

# 开发版本
flutter build ios

# 或者使用 Xcode 构建和签名

优点:

  • 可以分享给他人测试
  • 不需要连接电脑
  • 可以测试真实使用场景

🔐 权限设置

Android 权限设置

应用首次运行时,需要引导用户授予权限:

  1. 应用内权限请求

    • 应用会自动显示权限引导界面
    • 点击"去设置"按钮
  2. 系统设置页面

    • 自动跳转到"使用情况访问权限"设置
    • 找到 "AutoTime Tracker"
    • 开启"允许使用情况访问"
  3. 验证权限

    • 返回应用
    • 应用会自动检测权限状态
    • 如果已授予,进入主界面

手动设置路径:

设置 → 应用 → 特殊应用访问 → 使用情况访问权限 → AutoTime Tracker → 开启

iOS 权限设置

  1. 应用内权限请求

    • 应用会自动请求 Screen Time API 权限
    • 用户需要明确授权
  2. 系统设置

    • 设置 → 屏幕使用时间 → 应用限制
    • 确保应用有访问权限

📊 测试真实数据

1. 安装并运行应用

# 连接设备后
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 有严格限制
  • 建议: 测试时使用常见的第三方应用

后台限制

  • 应用需要在后台运行才能持续追踪
  • 某些手机系统会限制后台运行
  • 建议: 将应用添加到"白名单"或"不受限制"

电池优化

  • 某些手机会自动优化电池,可能影响后台追踪
  • 建议: 在电池设置中,将应用设置为"不受限制"

🔧 调试技巧

查看日志

# 运行应用时查看日志
flutter run

# 或者单独查看日志
flutter logs

检查权限状态

在应用中:

  • 设置 → 权限设置
  • 查看权限是否已授予

验证数据同步

  1. 使用手机一段时间
  2. 打开应用
  3. 点击刷新按钮
  4. 查看数据是否更新

📝 测试清单

安装测试

  • 应用可以正常安装
  • 应用可以正常启动
  • 没有崩溃或错误

权限测试

  • 权限引导界面正常显示
  • 可以跳转到系统设置
  • 权限授予后应用可以正常使用

数据追踪测试

  • 可以获取应用使用数据
  • 数据时间戳正确
  • 应用名称显示正确
  • 使用时长计算准确

分类测试

  • 自动分类正确
  • 可以手动修改分类
  • 分类修改后生效

统计测试

  • 今日统计正确
  • 周统计正确
  • 图表显示正常
  • 效率评分计算正确

功能测试

  • 目标设置功能正常
  • 数据导出功能正常
  • 设置保存正常

🎯 快速测试流程

# 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 连接运行是最简单的方式。 📱