FirebaseInitProvider: инициализация FirebaseApp неудачна

Мы следили за добавлением Firebase в ваш Android-проект, но мы не можем видеть приложение, получающее данные в Firebase Console.
И когда мы запускаем приложение, журнал говорит:

FirebaseInitProvider: FirebaseApp initialization unsuccessful 

Что это значит? Что мы делаем не так?
Я не могу найти эту ошибку в документах, а не в StackOverflow.

Что это значит? Что мы делаем не так?

Предположим, что аутентификация не удалась.

a) repositories и dependencies buildscript для уровня проекта build.gradle :

 buildscript { repositories { google() jcenter() } dependencies { // Android Gradle Plugin classpath "com.android.tools.build:gradle:3.1.4" // Google Services Plugin classpath "com.google.gms:google-services:4.1.0" } } 

б) dependencies для уровня модуля app/build.gradle (на изображениях Android x86 для Android все еще может быть установлена ​​предыдущая версия установленных приложений Google Play, например, 10.2.0 выполняется на текущем эмуляторе x86 , например, 11.8.0 работает на моем физическом устройстве ARM ). ссылки на play-services и firebase-core будут включать в себя все их модули, за исключением некоторых из них. update : теперь нужно указывать все библиотеки отдельно. ссылка 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 api "com.google.android.gms:play-services-base:15.0.1" api "com.google.android.gms:play-services-auth:16.0.0" api "com.google.android.gms:play-services-identity:15.0.1" // Google Firebase // https://firebase.google.com/support/release-notes/android api "com.google.firebase:firebase-core:16.0.1" api "com.google.firebase:firebase-auth:16.0.3" api "com.google.firebase:firebase-config:16.0.0" api "com.google.firebase:firebase-storage:16.0.1" api "com.google.firebase:firebase-database:16.0.1" api "com.google.firebase:firebase-messaging:17.3.0" api "com.google.firebase:firebase-appindexing:16.0.1" api "com.google.firebase:firebase-functions:16.1.0" api "com.google.firebase:firebase-invites:16.0.1" // api "com.google.firebase:firebase-crash:16.0.1" api "com.google.firebase:firebase-ads:15.0.1" api "com.google.firebase:firebase-firestore:17.0.4" api "com.google.firebase:firebase-perf:16.0.0" // the inappmessaging may cause dependency conflicts: // api "com.google.firebase:firebase-inappmessaging:17.0.0" // api "com.google.firebase:firebase-inappmessaging-display:17.0.0" } 

c) нижняя строка mobile/build.gradle должна быть:

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

d) убедитесь, что у вас (загруженные) учетные данные доступны в app/google-services.json ; на Firebase Console нужно добавить как SHA1 (или SHA256) hashи, отладки, так и ключи для освобождения, чтобы обеспечить правильную аутентификацию обеих строчек; как только все будет совпадать, оно должно сообщать:

 I/FirebaseInitProvider: FirebaseApp initialization successful 

Все это хорошо документировано, просто см. Настройка служб Google Play , Firebase Quickstart или Crash Reporting ; в то время как я нахожу эту статью в блоге Firebase весьма полезной: организация ваших приложений для Android с поддержкой Firebase , потому что в ней объясняется, как частично отключить отчет о сбоях. В примечаниях к выпуску всегда сообщаются обновления и изменения.

Это происходит, когда вы не apply plugin: 'com.google.gms.google-services' в вашем app/build.gradle . Попробуйте добавить его.

Также убедитесь, что в Android SDK Manager установлен SDK для служб Google Play.

Первое, что я бы посоветовал вам проверить:

1) Включили ли вы использование в ваш манифест?

В моем случае я все правильно делал в Gradle. Несмотря на то, что он показал FirebaseApp initialization unsuccessful

Я добавил com.google.android.c2dm.permission.RECEIVE permission в манифест, который решил мою проблему.

    

Убедитесь, что вы добавили эту строку в файл уровня приложения build.gradle

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

В моем случае я пытался выборочно компилировать сервисы Google Play. Вместо того, чтобы использовать

 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' 

К несчастью, Firebase прекратила работать после этого.

В результате мне пришлось откатиться и вернуться к использованию

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

а не выборочно.

Я получил тот же вывод Logcat.

Исправлено это, обновив мою зависимость от сервисов Google Play Services до 9.0.0 в моем приложении / build.gradle

и обновление

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

в моем проекте build.gradle до 3.0.0

Interesting Posts
Давайте будем гением компьютера.