project: opendance-android-app version: 0.2.2 repository: opendance-android default_branch: main platform: Android 10+(minSdk 29 / targetSdk 34) contracts_version: rest-api: 0.5.0 websocket-keypoints: 0.2.0 data-models: 0.7.0 skeleton-topology: 0.2.0 model-formats: 0.5.0 database: 0.4.0 # 契约变更流程(文档 7.2): # 任何跨端契约变更必须先在 opendance-web 修改 contracts/ 并提升版本, # 再在本项目创建适配任务。本项目内的 contracts/ 只是只读快照。 dependencies: - name: opendance-windows kind: websocket-producer contract: contracts/websocket-keypoints.md usage: 本端为**发送方**,主动连接 Windows 客户端的 ws://:8765/pose - name: opendance-web kind: contract-source contract: contracts/skeleton-topology.md usage: 33 点索引顺序与坐标语义(MediaPipe 原生顺序即契约顺序) tasks: - id: T-AND-001 file: tasks/001-scaffold.md scope: Android Studio 项目骨架 status: done - id: T-AND-002 file: tasks/002-camera-x.md scope: CameraX 采集 status: done - id: T-AND-003 file: tasks/003-mediapipe-pose.md scope: MediaPipe Pose 端侧推理 status: done - id: T-AND-004 file: tasks/004-keypoint-serializer.md scope: 33 点 -> 239 字节帧 status: done - id: T-AND-005 file: tasks/005-websocket-client.md scope: WebSocket 推流 + 自动重连 status: done - id: T-AND-006 file: tasks/006-connect-ui.md scope: 连接页 + 主机发现 status: done - id: T-AND-007 file: tasks/007-running-ui.md scope: 运行页 + 状态指示 status: done - id: T-AND-008 file: tasks/008-about-page.md scope: 关于页 + 开源声明 status: done - id: T-AND-009 file: tasks/009-build-apk.md scope: Android Studio 打包 status: done - id: T-AND-010 file: tasks/010-about-version.md scope: 「关于」清单展示当前版本号 + 契约版本单一来源 status: done - id: T-AND-011 file: tasks/011-reconnect.md scope: 连接状态机 / 保活 / 去重与 Windows 端对齐 status: done - id: T-AND-012 file: tasks/012-mediapipe-crash.md scope: MediaPipe 初始化崩溃修复 + 诊断 status: done - id: T-AND-013 file: tasks/013-apk-version.md scope: APK 产物版本元数据(AndroidManifest 的 versionName/versionCode)校验 + 打包脚本 die 未定义修复 status: done - id: T-AND-014 file: tasks/014-release-acceptance.md scope: 发布包级端到端验收(读 zip 内 APK:版本元数据 / ABI+MediaPipe native / 模型资源 / R8 / 契约快照) status: done - id: T-AND-015 file: tasks/015-native-libs.md scope: APK native 库体检(ELF 类型 / DT_NEEDED 闭包 / 16 KB 页对齐),纯标准库实现 status: done - id: T-AND-016 file: tasks/016-reconnect-integration.md scope: JVM 内以真实 WebSocket(MockWebServer)验证重连链路 + 修「上一次关闭码污染下一次会话」 status: done - id: T-AND-017 file: tasks/017-backoff-and-pong.md scope: 可注入计时 + 退避封顶端到端验证 + 修「合规不回 pong 的接收端被周期性误判链路已死」 status: done deliverable: artifact: opendance-android-v0.2.2.apk packaging: Gradle 命令行 / Android Studio includes: - app-release.apk - THIRD_PARTY.md - README.txt - contracts/ # 契约快照 release_rules: - release 包只含 arm64-v8a / armeabi-v7a(真机 ABI) - 版本号单一来源:versionName(= project.yaml 的 version)与 BuildConfig 契约版本