programing

파이어베이스Init 제공자:Firebase App 초기화 실패

closeapi 2023. 6. 25. 20:06
반응형

파이어베이스Init 제공자:Firebase App 초기화 실패

Android 프로젝트에 Firebase 추가를 수행했지만 Firebase 콘솔에서 데이터를 수신하는 앱을 볼 수 없습니다.
앱을 실행하면 로그에 다음과 같이 기록됩니다.

FirebaseInitProvider: FirebaseApp initialization unsuccessful

이것은 무엇을 의미합니까?우리가 뭘 잘못하고 있는 거지?
문서에서도, StackOverflow에서도 이 오류를 찾을 수 없습니다.

이것은 무엇을 의미합니까?우리가 뭘 잘못하고 있는 거지?

인증에 실패한 것으로 간주됩니다.

그자리의 buildscript repositories그리고.dependencies프로젝트 수준에 대한build.gradle:

buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        
        // Android Gradle Plugin
        classpath "com.android.tools.build:gradle:3.3.2"

        // Google Services Plugin
        classpath "com.google.gms:google-services:4.2.0"
    }
}

그자리의 dependencies모듈 레벨용app/build.gradleAndroid Intel x86 이미지에는 여전히 이전 버전의 Google Play Services가 설치되어 있을 수 있습니다. 10.2.0 물을가달며에서 됩니다.x86에뮬레이터(예: 11.8.0내 신체에 달려 있습니다.ARM장치)를 선택합니다.참조의play-services그리고.firebase-core일부 모듈을 제외한 모든 모듈이 포함됩니다.업데이트: 이제 모든 라이브러리를 개별적으로 참조해야 합니다.참조의com.google.android.gms:play‐services그리고.com.google.firebase:firebase-core이후로 더 이상 작동하지 않습니다.15.0.0.

android {
    ...
    buildTypes {
        debug {
            // suffixing the package name for debug builds,
            // in order to partially mute the crash-reporting
            // is an *optional* configuration (see below):
            applicationIdSuffix ".debug"
        }
    }
}

dependencies {

    // Google Play Services
    // https://developers.google.com/android/guides/releases
    implementation "com.google.android.gms:play-services-base:15.0.1"
    implementation "com.google.android.gms:play-services-auth:16.0.0"
    implementation "com.google.android.gms:play-services-identity:15.0.1"

    // Google Firebase
    // https://firebase.google.com/support/release-notes/android
    implementation "com.google.firebase:firebase-core:16.0.1"
    implementation "com.google.firebase:firebase-auth:16.0.3"
    implementation "com.google.firebase:firebase-config:16.0.0"
    implementation "com.google.firebase:firebase-storage:16.0.1"
    implementation "com.google.firebase:firebase-database:16.0.1"
    implementation "com.google.firebase:firebase-messaging:17.3.0"
    implementation "com.google.firebase:firebase-appindexing:16.0.1"
    implementation "com.google.firebase:firebase-functions:16.1.0"
    implementation "com.google.firebase:firebase-invites:16.0.1"
    // implementation "com.google.firebase:firebase-crash:16.0.1"
    implementation "com.google.firebase:firebase-ads:15.0.1"
    implementation "com.google.firebase:firebase-firestore:17.0.4"
    implementation "com.google.firebase:firebase-perf:16.0.0"

    // the inapp messaging may cause dependency conflicts: 
    // implementation "com.google.firebase:firebase-inappmessaging:17.0.0"
    // implementation "com.google.firebase:firebase-inappmessaging-display:17.0.0"
}

mobile/build.gradle다음과 같아야 합니다.

// apply the Google Services Plugin
apply plugin: "com.google.gms.google-services"

사용 가능한 (제한된) 자격 증명이 있는지 확인하십시오.app/google-services.jsonFirebase Console에서 디버그 및 릴리스 키의 SHA1(또는 SHA256) 해시를 모두 추가하여 두 빌드를 모두 올바르게 인증해야 합니다. 모든 것이 일치하면 다음을 보고해야 합니다.

I/FirebaseInitProvider: FirebaseApp initialization successful

Google Play Services 설정, Firebase Quickstart 또는 충돌 보고를 참조하십시오. Firebase 블로그의 이 기사는 매우 유용합니다. 충돌 보고를 부분적으로 음소거하는 방법을 설명하기 때문에 Firebase 지원 Android 앱 빌드 구성에 대해 설명합니다.릴리스 정보는 항상 업데이트 및 변경 사항을 공지합니다.

그것은 당신이 가지고 있지 않을 때 발생합니다.apply plugin: 'com.google.gms.google-services'의 신의에app/build.gradle추가해보세요.

또한 Android SDK Manager에 Google Play 서비스 SDK가 설치되어 있는지 확인합니다.

제가 당신에게 가장 먼저 확인할 것을 권하고 싶은 것은 다음과 같습니다.

당신은 포함했습니까?<uses-permission android:name="android.permission.INTERNET" />당신의 매니페스트에?

앱 레벨에 이 라인을 추가했는지 확인하십시오.build.gradle 파일

apply plugin: 'com.google.gms.google-services'

저도 비슷한 문제에 직면하고 있었습니다.저는 Google 개발자 프로젝트를 Firebase로 가져와서 Android 스튜디오 앱과 Firebase 콘솔의 지침에 따라 모든 단계를 수행했습니다. 즉, 종속성인 Google-services.json 파일을 추가하고 다시 빌드하는 것입니다.

여전히 Firebase 콘솔로 데이터를 전송하지 않습니다.따라서 로그캣을 검사하는 동안 Google_app_id가 누락된 것 같아 Firebase를 초기화할 수 없었습니다.

많은 시행착오 끝에 새로운 문자열 리소스를 추가해야 했습니다.res/values/strings.xml파일.

    <string name="google_app_id">YOUR_GOOGLE_APP_ID</string>

Google App ID는 Firebase 콘솔에서 제목 아래에 다운로드한 Google_services.json 파일에서 사용할 수 있습니다.mobilesdk_app_id.

"client": [
    {
      "client_info": {
        "mobilesdk_app_id": "SOMETHING"
      }
    .
    .
    .

복사mobilesdk_app_id안에 있는 문자열 리소스에 붙여넣습니다.res/values/strings.xml이름이 적힌 파일google_app_id.

코드를 다시 빌드하면 작동합니다.:)

전체 문제는 다음 두 가지 이유로 인해 발생합니다.

메인페스트에서 허가를 받지 않았습니다.

<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />

[여기에 이미지 설명 입력][1]

당신의 그래들 빌드 버전은 버그-프로젝트 수준 의존성을 가지고 있습니다.

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

로 대체합니다.

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

저의 경우, 저는 Gradle의 모든 것을 제대로 했습니다.보여주긴 했지만,FirebaseApp initialization unsuccessful

추가했습니다.com.google.android.c2dm.permission.RECEIVE permission나의 문제를 해결한 명백한.

 <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
 <uses-permission android:name="android.permission.INTERNET" />

저의 경우 구글 플레이 서비스를 선택적으로 컴파일하려고 했습니다.사용하는 대신

compile 'com.google.android.gms:play-services:9.4.0'

https://developers.google.com/android/guides/setup#ensure_devices_have_the_google_play_services_apk 에서 설명한 바와 같이

Google Play Services에서 수동으로 지도 및 기타 종속성 모듈을 추가했습니다.

compile 'com.google.android.gms:play-services-maps:9.4.0'
compile 'com.google.android.gms:play-services-places:9.4.0'

불행히도 파이어베이스는 그 이후로 작동을 멈췄습니다.

결과적으로 롤백했다가 다시 사용해야 했습니다.

compile 'com.google.android.gms:play-services:9.4.0'

선별적으로 하는 대신에

저도 같은 Logcat 출력을 받았습니다.

업데이트를 통해 수정했습니다.Google Play Servicesmyapp/build.gradle의 9.0.0에 대한 종속성

및 업데이트

buildScript {
    //...
    dependencies {
        //...
        classpath 'com.google.gms:google-services:3.0.0'
    }
}

프로젝트 빌드에서 .grade를 3.0.0으로 변경합니다.

build.gradle(프로젝트 수준)에서

바꾸다

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

여기까지

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

언급URL : https://stackoverflow.com/questions/37321728/firebaseinitprovider-firebaseapp-initialization-unsuccessful

반응형