Skip to content

fix(build): Crashlytics release 리포트의 예외 타입이 R8 난독화명으로 표시 — 이슈 식별·그룹핑 저해 #606

Closed

Description

@OnlyReadOneBook

📜 Overview (Required)

release 빌드가 올린 Crashlytics 리포트에서 예외 타입명만 R8 난독화명으로 남아 콘솔에서 어떤 예외인지 식별할 수 없다.

2026-07-29 실측(로컬 :app:assembleRelease → 로그인 실패 non-fatal → 앱 재시작 → 업로드 Status Code: 200):

  • 이슈 제목·부제가 nq - 아이디 또는 비밀번호가 일치하지 않습니다. 로 표시된다. nq 는 com.afternote.core.network.model.ApiException 의 난독화명이다.
  • 같은 이벤트의 스택 프레임은 com.afternote.core.network.interceptor.ApiErrorInterceptor.intercept (ApiErrorInterceptor.kt:48) 로 정상 복원된다. 빌드에서 :app:uploadCrashlyticsMappingFileRelease 도 성공했으므로 mapping 업로드·적용 자체는 동작하고 있다.
  • 커스텀 키(auth_stage·auth_provider)는 영향 없이 정상 표시된다.

이 때문에 두 가지가 깨진다.

  1. 식별 불가 — 배포본 리포트에서 예외 타입이 nq 같은 축약명이라, 리포트만 보고 어떤 실패인지 판별할 수 없다. 난독화명은 빌드마다 달라질 수 있어 축적된 지식으로도 메울 수 없다.
  2. 그룹핑 분리 — 동일 지점(ApiErrorInterceptor.kt:48)의 debug 이벤트는 com.afternote.core.network.model.ApiException 로 뜨는데, release 이벤트는 nq 로 떠 별개 이슈로 그룹핑됐다. 같은 장애가 콘솔에서 둘로 갈라진다.

이벤트 도착 6~7분 뒤 재확인해도 동일해 후처리 지연은 아니다.

현재 규칙 상태: app/proguard-rules.pro 에는 Room·WorkManager·Startup·Kakao SDK keep 만 있고, core/network/proguard-rules.pro 는 템플릿 주석뿐이라 도메인 예외 클래스에 대한 keep 규칙이 없다.

📍 Note (Optional)

Metadata

Metadata

Labels

bugSomething isn't working

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions