Skip to content

feat(app): Firebase Crashlytics 도입 — 배포 빌드 크래시 리포팅 #534

Description

@OnlyReadOneBook

📜 Overview (Required)

배포 APK에서 크래시가 발생해도 수집 채널이 없어 원인 파악이 불가능하다(logcat은 기기 로컬 전용). Firebase 프로젝트 연동 자체는 이미 완료된 상태라(app/google-services.json + google-services 플러그인 4.4.4, App Distribution 배포에 사용 중) Crashlytics 플러그인·의존성만 추가하면 된다.

작업 내용:

  • Firebase 콘솔에서 Crashlytics 활성화 (코드 외 선행 단계, Analytics 활성화 권장)
  • libs.versions.toml에 com.google.firebase.crashlytics 플러그인 3.0.7, firebase-bom 34.16.0 및 firebase-crashlytics 라이브러리 등록
  • 루트 build.gradle.kts에 플러그인 apply false 등록, app/build.gradle.kts에 플러그인 적용 + BoM/의존성 추가 (크래시 자동 수집이라 별도 초기화 코드 없음)
  • 강제 크래시(throw RuntimeException)로 콘솔 리포트 수신 검증

📍 Note (Optional)

  • 버전 근거: 공식 가이드 https://firebase.google.com/docs/crashlytics/android/get-started + Google Maven 메타데이터 교차 확인(플러그인 3.0.7, BoM 34.16.0 — 2026-07-26 기준 latest)
  • 최소 요건(Gradle 8.0 / AGP 8.1.0 / google-services 4.4.1 이상)은 현재 AGP 9.0.1·Gradle 9.1.0·google-services 4.4.4로 충족 (실측)
  • release 빌드가 isMinifyEnabled = true이므로 Crashlytics Gradle 플러그인의 R8 mapping 자동 업로드 동작을 첫 release 빌드 로그에서 실측 확인할 것 (문서 원문 미대조 — 기억 기반)
  • 크래시 외 non-fatal 오류 수집(recordException)·breadcrumb 로그(log)는 범위 외, 필요 시 후속 이슈

Metadata

Metadata

Labels

enhancementNew feature or request

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions