# AppSok

Jenkins Android artifact를 Mac에서 내려받고, USB로 연결된 Android 기기에 ADB로 설치하기 위한 Flutter macOS 앱입니다.

## Scope

- Jenkins job/build/artifact 조회
- 사용자별 Jenkins API token 저장
- Android device 목록 조회
- APK 다운로드 및 `adb install -r`
- `adb logcat` 콘솔 뷰어
- `appsok://` 딥링크 기반 설치 진입점

## Current Scaffold

- `lib/src/features/builds`: build/artifact 목록 화면
- `lib/src/features/devices`: ADB device 화면
- `lib/src/features/console`: logcat 콘솔 화면
- `lib/src/features/settings`: Jenkins/ADB 설정 화면
- `lib/src/services`: Jenkins, Keychain, ADB 서비스 골격
- `lib/src/models`: Jenkins build와 ADB device 모델

## Development

```bash
flutter pub get
flutter run -d macos
```

## macOS Notes

- Jenkins 호출에는 macOS network client entitlement가 필요합니다.
- ADB 실행과 USB device 접근은 배포 방식에 따라 sandbox 정책 검토가 필요합니다.
- Jenkins token은 앱 번들에 넣지 않고 macOS Keychain에 사용자별로 저장하는 방향을 기본값으로 둡니다.
- Developer ID signing, notarization, stapling을 포함한 최종 ZIP 생성 절차는 [macOS 인증 빌드](docs/macos-certified-build.md)를 기준으로 합니다.
