파이어베이스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.gradle
Android 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.json
Firebase 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 Services
myapp/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
'programing' 카테고리의 다른 글
Vuex에서 계산된 속성을 사용하여 돌연변이가 등록되지 않음 (0) | 2023.06.25 |
---|---|
다른 Gitrepo 내부에서 Gitrepo 유지 관리 (0) | 2023.06.25 |
Java java.sql.SQL 예외:문을 준비할 때 열 인덱스가 잘못되었습니다. (0) | 2023.06.25 |
도커 컨테이너에서 호스트 mongodb에 연결 (0) | 2023.06.25 |
에서 Oracle 데이터베이스 연결 방법.넷코어 (0) | 2023.06.25 |