안드로이드 - 파이어 베이스 java.lang.ClassNotFoundException 오류

Updated:

Android

파이어 베이스 로그인을 구현 한 후 실제 배포과정에서 특정 api가 없다는 오류가 나오는 현상이 발생하였습니다.

오류

2020-11-26 09:54:45.561 3036-5658/? E/Parcel: Class not found when unmarshalling: com.google.android.gms.auth.api.signin.internal.SignInConfiguration
java.lang.ClassNotFoundException: com.google.android.gms.auth.api.signin.internal.SignInConfiguration

2020-11-26 09:54:46.632 3036-8017/? E/Parcel: Class not found when unmarshalling: com.google.android.gms.common.api.Scope
java.lang.ClassNotFoundException: com.google.android.gms.common.api.Scope

위와 같은 오류가 발생하였다.

이유

참고 사이트에 따르면,
파이어베이스에 필요한 SHA-1 KEY를 인식하지 못하여 발생하였다고 한다.

해결 방안

하지만 이미 개발하는 과정에서 SHA-1 KEY를 넣었으며, 이는 개발용과 배포용(Release) key가 다르다는 것을 알 수 있다.
따라서 Release용 key를 구하여 파이어베이서 SHA 인증서 지문에 추가해주어야 한다.
Release용 SHA-1 KEY는 Android SHA1 Release 키 구하기 (안드로이드 SHA1 앱 배포용 키)에서 확인 할 수 있다.
오래되었지만, 설명이 자세하고 과정이 간단하여 참고하시면 좋을거 같습니다.

앞서 구한 SHA-1 Key를 프로젝트 개요 -> 프로젝트 설정 -> SHA 인증서 지문 -> 디지털 지문 추가를 통하여 추가해 주면 정상적으로 배포하여서도 동작합니다.