2.5 KiB
2.5 KiB
Milestone: USB 설치와 device 선택
위치
- Roadmap:
agent-roadmap/ROADMAP.md - Phase:
agent-roadmap/phase/usable-mvp/PHASE.md
목표
USB로 연결된 Android device를 표시하고, 선택한 단일 APK를 adb install -r로 설치한다. 사용자는 폰 네트워크나 VPN 상태와 무관하게 Mac에서 내려받은 APK를 바로 밀어 넣을 수 있어야 한다.
상태
[계획]
승격 조건
- 없음
구현 잠금
- 상태: 해제
- 결정 필요: 없음
범위
adb devices -l기반 device 목록- unauthorized/offline/device 상태 표시
- 설치 대상 device 선택
adb install -r실행, stdout/stderr 표시- install success/failure 결과 기록
기능
Epic: [device-list] device 탐색
연결된 Android device를 사용자가 이해할 수 있는 형태로 보여준다.
- [adb-path] 설정된 adb path 또는 PATH의
adb실행 가능 여부를 확인한다. - [parse-devices]
adb devices -l결과를 serial/state/model/product로 parsing한다. 검증:device,unauthorized,offlinefixture test가 통과한다. - [device-state] USB debugging 승인 필요, offline, ready 상태를 UI에서 구분한다.
- [refresh] 사용자가 device 목록을 새로고침할 수 있다.
Epic: [install] APK 설치
선택한 device에 단일 APK를 설치하고 결과를 확인한다.
- [install-run] 선택한 APK와 device serial로
adb install -r를 실행한다. - [install-output] stdout/stderr와 exit code를 UI에 표시한다.
- [install-guard] APK가 선택되지 않았거나 device가 ready가 아니면 설치 버튼을 비활성화한다.
- [install-result] 성공/실패 결과를 이후 이력 milestone에서 재사용할 수 있는 구조로 남긴다.
완료 리뷰
- 상태: 없음
- 요청일: 없음
- 완료 근거: 모든 기능 Task와 Task 안에 명시된 검증 충족 후 기록한다.
- 리뷰 필요:
- 사용자가 완료 결과를 확인했다
- archive 이동을 승인했다
- 리뷰 코멘트: 없음
범위 제외
adb install-multiple- AAB를 APK로 변환하는
bundletool - 무선 ADB pairing
작업 컨텍스트
- 관련 경로:
lib/src/features/devices/,lib/src/models/adb_device.dart,lib/src/services/adb_service.dart - 표준선(선택): 화면 코드에서
Process를 직접 호출하지 않고AdbService를 통해 실행한다. - 선행 작업: Artifact 탐색과 다운로드
- 후속 작업: ADB 콘솔과 logcat
- 확인 필요: 없음