Flutter/Issue

[Flutter]PlatformException:12500/10 Google Sign-In using Firebase(Firebase로 구글 로그인 구현 시 에러)

베어헌터 2019. 7. 29. 17:27

 인프런에서 Flutter 강의를 듣던 중, Firebase로 구글 로그인 구현을 하는데 PlatformException 에러가 계속 떴다... 하지만 몇 시간 삽질 끝에 겨우 해결!

 혹시 나와 같은 불쌍한 사람들이 있을까봐 귀찮지만 적기로 했다!!

 

 

 

1. androidX.blarblar 에러 뜰 때

 Flutter에서 Android X 관련 컴파일을 못 불러와서 그런 겁니다. 먼저 Android - app - build.gradle에 들어가셔서 multiDexEnabled = true 한 줄을 추가 해 줍니다.

defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "com.example.flutter_practice1"
        minSdkVersion 21
        targetSdkVersion 28
        multiDexEnabled = true
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

(저 가운데 처럼)

 

 그리고 Android - gradle.properties에 들어가셔서 android.useAndroidX = true/android.enableJetifier = true 이거 두 개를 추가 해 줍니다.

org.gradle.jvmargs=-Xmx1536M
android.useAndroidX = true
android.enableJetifier = true

(요거 처럼)

 

 

 

2. Sdk 버전이 (너무 낮다/안 맞는다)고 에러 뜸

 위의 첫 번째 사진에 minSdkVersion이랑 targetSdkVersion 보이실겁니다. 그걸 에러 코드에 맞게 수정하시고, 상단 메뉴바에 Tool - Sdk Manager 키셔서 관련 Sdk 다운로드 ㄱㄱ

 

 

 

 

3. 구글 로그인 버튼을 눌러도, 반짝거리고 아예 로그인 창이 안 뜰 때(AVD 쓰시는 경우)

 AVD 버전이 낮아서 Play Store 실행 할 버전이 안 맞아서 그런겁니다!! AVD 삭제 하시고 다시 만드실 때, Sdk 버전을 한 28짜리로 선택하셔서 다시 만드세요.

 

 

 

 

4. PlatformException: ~~~:12500

 이게 좀 골치아픕니다. 구글 개인정보를 이 앱에 가져오겠다~ 라는 권한이 필요한 실정인데, Google API Console 창에 들어가셔야 합니다.

https://console.developers.google.com/apis/  

 

 위 링크로 들어가셔서 상단에 프로젝트 선택을 꼭! Firebase에서 만든 프로젝트 클릭을 해 주세요. 그리고 가운데 보이는 탭 3개 중에, OAuth 동의 화면에 들어갑니다.

 

 거기서 가운데에 지원 이메일에 Firebase 프로젝트 만들 때 로그인 했던 이메일 넣어주시구요(아마 자동으로 돼 있을겁니다) 밑에 승인된 도메인에 주소들을 넣어야 하는데...

 

 이건 바로 요기에 있습니다

Firebase 콘솔 창에 가셔서 인증 탭 누르시면 있습니다

 

 저기서 도메인 2개 복사하시고

 

 

 

 여기서 도메인 2개 추가 해주시고, 밑에 3칸에 복사 해 줍시다.

 

 아마 개인정보 동의? 같은 건 잘 뜰겁니다!

 

 

 

5. PlatformException:~~~~~ :10

 전 이게 문제였습니다(...) 로그인 인증 방식이 추가가 안 돼있던 거였죠...

 

 Firebase 콘솔 창 들어가셔서 Authentication 탭 들어가시면

 

 저런 식으로 로그인 인증 방법을 설정 할 수가 있는데, Google 뿐만 아니라 이메일/비밀번호 도 활성화 해주셔야 합니다!!

 

 

 

 

 전 마지막 5번 에러 때문에 몇 시간을 날렸네요... 덴장.. 여튼 성공하셔서 앱에서 로그인이 됐다면, 바로 위에 사진의 사용자 탭에서 로그인 한 계정들 리스트가 쭉 뜹니다.

 

 

 으어앙ㄱ