본문 바로가기
Mobile Programming

Flutter - Unhandled Exception: PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null, null) 오류 발생 시

by 맑은안개 2023. 9. 15.

오류메시지

Unhandled Exception: PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null, null)

Flutter 구글 로그인 구현 중 위와 같은 오류가 발생했다.

셋업한 환경은 다음과 같았다.

셋업 환경

1.GCP 사용 ( Not Firebase )

2.OAuth 동의

3.사용자 인증 정보 등록

SHA-1 인증서 디지털 지문 등록

  • 필자는 keytool을 사용할 때 jks 파일을 생성하지 않았다.

  • 다음과 같이 입력

    keytool -keystore ~/.android/debug.keystore -list -v -alias androiddebugkey -storepass android -keypass android
  • plist 다운 후 google-services.json으로 파일명 변경 후 android > app 에 복사

4.android > app > build.gradle 에 다음의 코드 추가

android {
    namespace "com.example.google_login"
    compileSdkVersion flutter.compileSdkVersion
    ndkVersion flutter.ndkVersion

    ... 중략 ...

    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig signingConfigs.debug
        }
    }

    // 추가
    signingConfigs {
        debug {
            keyAlias 'androiddebugkey'
            keyPassword 'android'
            storePassword 'android'
        }
    }
}

애뮬레이터로 Flutter run

E/flutter (11732): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null, null)

오류 발생

원인

GCP의 사용자 인증 정보에 패키지 이름 을 임의로 입력해서 발생한 오류.
AndroidManifest.xml 파일에서 찾을 수 있다고 적혀있지만 build.gradle에서 확인 함

android > app > build.gradle

    defaultConfig {
        applicationId "com.example.google_login"
    }
  • 위 applicationId를 패키지 이름으로 수정하고 재실행
반응형