SPRINT

ADR-001 — 런처 구현 전략 및 minSdk 결정

날짜: 2026-03-26 | 상태: 확정 | 결정자: 사용자 컨펌 + CTO 승인

맥락

The Universe 런처 프로젝트는 현재 기본 Jetpack Compose 템플릿 상태입니다.

Phase 1 MVP 런처 구현에 앞서 두 가지 핵심 아키텍처 결정이 필요했습니다.

  • 런처 구현 전략: Launcher3(AOSP) 포크 vs Compose-Native 직접 구현
  • 최소 지원 SDK: minSdk 26 유지 vs 28 상향
  • 전체 15개 에이전트 토론 후 사용자 컨펌을 통해 확정되었습니다.


    결정 1: 런처 구현 전략 — 옵션 A (Compose-Native + Launcher3 마이그레이션 참조)

    선택: Compose-Native 직접 구현, Launcher3는 참조(reference-only) 사용

    이유:

  • Dash의 Morphing·Fusion·Orchestrator 핵심 기능 70%가 Compose 기반
  • Launcher3는 100K+ LOC Java/View 기반 — 포크 시 View ↔ Compose 혼합이 영구 기술부채
  • CellLayout, DragController 등 Launcher3의 핵심 패턴은 참조로 충분
  • Compose LazyGrid + custom drag가 Dash 배치에 더 자연스럽게 통합됨
  • 장기적으로 Launcher3 마이그레이션 지옥 방지
  • 트레이드오프:

  • Phase 1에 +2~3주 추가 버퍼 필요 (홈버튼·앱드로어·제스처 직접 구현)
  • 즉시 동작하는 런처 기반 확보 불가 (대신 기술부채 없음)
  • 구현 방식:

  • Launcher3 소스 코드: 코드 참조(reference-only) — 코드 복사 없음
  • Apache 2.0 NOTICE 파일 유지 (참조 출처 표기)
  • AndroidManifest.xml: HOME/DEFAULT 인텐트 필터 직접 등록
  • Compose LazyGrid 기반 홈 화면 그리드
  • LauncherApps, WallpaperManager, ShortcutManager API 직접 통합

  • 결정 2: minSdk — 26 유지

    선택: minSdk 26 (Android 8.0)

    이유:

  • 디바이스 커버리지 약 98% 확보
  • AGSL은 VisualEffects 추상 레이어로 3-tier 폴백 처리:
  • - Tier A (API 33+): Full AGSL 셰이더

    - Tier B (API 31-32): RenderEffect 블러

    - Tier C (API 26-30): Compose drawBehind / drawWithContent

  • minSdk 28로 올려도 실질적 기능 차이 없음 (3% 커버리지 손실 대비 이점 미미)
  • Compose BOM 2024.09.00: minSdk 26 완전 지원
  • 비교:

    | | minSdk 26 | minSdk 28 |

    |--|-----------|-----------|

    | 커버리지 | ~98% | ~95% |

    | AGSL | 3-tier 폴백 | 동일 |

    | 보안 | 기본 | NetworkSecurityConfig 강화 |

    | Adaptive Battery | 미지원 | 지원 |


    영향 범위

    | 구성요소 | 영향 |

    |---------|------|

    | AndroidManifest.xml | HOME/DEFAULT 필터 등록 (S04) |

    | app/build.gradle.kts | minSdk = 26 유지 |

    | VisualEffects.kt | 3-tier 폴백 추상 레이어 생성 (S05) |

    | Launcher3 | 참조만, 코드 미포함 |


    검토자

    | 에이전트 | 동의 |

    |---------|------|

    | CTO Lead | ✅ |

    | Launcher Platform | ✅ |

    | UI Systems | ✅ |

    | Animation Developer | ✅ |

    | Security | ✅ |

    | QA | ✅ |

    | 전체 15개 에이전트 | ✅ |

    사용자 최종 확정: 2026-03-26