# 공기계 USB 테스트 시작 체크리스트

작성일: 2026-07-09
상태: v1.0

목적: `tdc114plus` 신규앱을 공기계 USB 연결 기준으로 빠르게 기동하고 테스트를 시작하기 위한 최소 절차를 고정한다.

## 1. 전제

- 오늘 기본 테스트 대상은 `공기계 1대`다.
- Android Studio는 필수가 아니다.
- 기본 연결 방식은 `Windows ADB server 공유 + WSL/Docker Flutter`다.

## 2. 시작 순서

1. Windows에서 `일반 PowerShell`을 연다.
2. WSL에서 `VS Code`와 `tdc114plus` 워크스페이스를 연다.
3. 공기계를 USB로 연결한다.
4. 공기계에서 `USB 디버깅 허용` 팝업이 뜨면 허용한다.
5. 공기계 USB 용도는 `파일 전송`으로 둔다.

## 3. Windows 확인

일반 PowerShell에서 실행:

```powershell
& "$env:LOCALAPPDATA\Android\Sdk\platform-tools\adb.exe" devices
```

기대 결과:

- 공기계 1대가 `device`

문제 시:

- `unauthorized`: 폰 화면에서 허용
- `offline`: 케이블 재연결, USB 모드 재확인, 다시 `adb devices`

## 4. WSL startup

WSL 터미널에서 실행:

```bash
cd /home/ubuntu/workspace/tdc114plus
ADB_SERVER_SOCKET=tcp:172.21.128.1:5037 ./scripts/startup.sh --dry-run --wait=40
```

dry-run 이상 없으면 실제 실행:

```bash
cd /home/ubuntu/workspace/tdc114plus
ADB_SERVER_SOCKET=tcp:172.21.128.1:5037 ./scripts/startup.sh --auto --wait=40
```

## 5. startup 통과 기준

- Android target preflight 통과
- Baron runtime 기동 완료
- `check-baron-api-env.sh` 통과
- `api-smoke.sh` 통과

## 6. 공기계 로컬 개발모드 준비

Windows 일반 PowerShell에서 실행:

```powershell
& "$env:LOCALAPPDATA\Android\Sdk\platform-tools\adb.exe" -s <DEVICE_ID> reverse tcp:5000 tcp:5000
```

`<DEVICE_ID>`는 `adb devices`에 표시된 공기계 ID를 사용한다.

## 7. 앱 실행

WSL 터미널에서 실행:

```bash
ADB_SERVER_SOCKET=tcp:172.21.128.1:5037 \
TDC114_FLUTTER_DEVICE_ID=<DEVICE_ID> \
TDC114_SMOKE_ENV_FILE=scripts/.env.android-device.local \
./scripts/manual-postlogin-run.sh
```

## 8. 오늘 테스트 시작점

앱이 공기계에 뜨면 아래부터 점검을 시작한다.

- 로그인 흐름
- 직원검색
- 조직도
- 즐겨찾기
- 전화/문자 버튼 노출
