• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    해결됨

await Firebase.initializeApp() 에서 안넘어갑니다 ㅠ

23.10.26 20:03 작성 조회수 1.22k

1

디버그 콘솔 문구는 아래와 같습니다.

E/flutter ( 8209): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(null-error, Host platform returned null value for non-null return value., null, null)

커뮤니티에 비슷한 오류 해결 방법 제시해주신거 보고 그것도 해봤는데 안되네요;

계속 여기 막혀있습니다ㅠ_ㅠ

 

아래 제가 설정한 부분 이미지 첨부합니다.

확인부탁드립니다.

1698318050230.jpg1698318059956.jpg1698318069712.jpg1698318118260.jpg1698318081179.jpg

 

답변 1

답변을 작성해보세요.

2

안녕하세요

확인해본 결과 Android의 프로젝트 수준의 build.gradle에서 google-services 4.4.0 버전 이상부터 추가 설정이 필요해서 발생하는 에러로 확인 되었습니다. 이 문제를 해결하는 두 가지 방법이 있습니다.

 

방법1) 버전을 낮춰서 간단하게 해결

Android의 프로젝트 수준의 build.gradle에 다음과 같이 작성해둔 코드를

classpath 'com.google.gms:google-services:4.4.0'

다음과 같이 4.3.15 버전으로 변경해 주세요.

classpath 'com.google.gms:google-services:4.3.15'

그리고 실행해 보시면 정상적으로 작동 되실겁니다.

 

방법2) 최신 버전을 쓰고 싶은 경우

google-services:4.4.0 버전을 쓰고 싶으신 경우, 공식 문서에 나온 것과 같이 여러가지 작업을 추가로 진행해야 합니다.

  1. 공식 문서를 참고하여 사용중이신 OS에 맞는 Firebase CLI 설치

  2. 명령 프롬프트 터미널에서 다음 명령어를 실행하여 firebase CLI 로그인합니다.

    dart pub global activate flutterfire_cli
  3. 명령 프롬프트 또는 터미널에서 다음 명령어를 실행하여 FlutterFire CLI를 설치합니다.

    dart pub global activate flutterfire_cli
  4. VSCode 프로젝트 터미널에서 다음 명령어를 실행하면 firebase_options.dart 파일이 생성됩니다.

    flutterfire configure
  5. main.dart 파일의 main 함수에서 Firebase.initializeApp 함수에 options 부분을 추가합니다.

     

await Firebase.initializeApp(
  options: DefaultFirebaseOptions.currentPlatform,
);

이 때 DefaultFirebaseOptions는 4번에서 생성된 firebase_options.dart 파일에 있기 때문에 다음 import를 추가해야 에러가 해결됩니다.

import 'firebase_options.dart';

만약 두 번째 방법으로 진행하고 싶으신데 도움이 필요하신 경우 오픈 카카오톡으로 문의 주세요!

 

serily님의 프로필

serily

질문자

2023.10.27

감사합니다~ 해결되었습니다! ㅎㅎ
그런데 빌드했을때 아래와 같은 빨간 글씨가 뜨는데 그냥 무시해도 되는걸까요?
image

에러는 아니고 사용중인 외부 Package에서 사용중인 코드를 개선할 수 있는 방법에 대한 메세지라서 그대로 진행하셔도 무방합니다.

만약 해당 메세지를 해결하고 싶으신 경우, 다음과 같은 방법이 있습니다.

  1. Package 버전을 올려서 최신 코드를 받는다.

  2. Package Github에 방문하여 이슈를 제보한다.

  3. Package 코드를 직접 수정하여 기여한다.