FirebaseApp по умолчанию не инициализирован

236

Мы видим несколько исключений с сообщением Default FirebaseApp is not initialized in this process com.example.app. Make sure to call FirebaseApp.initializeApp(Context) first.в нашем приложении для Android, в которое мы только что добавили Firebase Remote Config.

Трассировка стека выглядит следующим образом:

Fatal Exception: java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.example.app. Make sure to call FirebaseApp.initializeApp(Context) first.
       at com.google.firebase.FirebaseApp.getInstance(Unknown Source)
       at com.google.firebase.remoteconfig.FirebaseRemoteConfig.getInstance(Unknown Source)
       at com.example.app.fragments.SomeFragment.updateFooter(SourceFile:295)
       at com.example.app.fragments.SomeFragment.onCreateView(SourceFile:205)
       at android.support.v4.app.Fragment.performCreateView(SourceFile:2080)
       at android.support.v4.app.FragmentManagerImpl.moveToState(SourceFile:1108)
       at android.support.v4.app.FragmentManagerImpl.moveToState(SourceFile:1290)
       at android.support.v4.app.BackStackRecord.run(SourceFile:801)
       at android.support.v4.app.FragmentManagerImpl.execSingleAction(SourceFile:1638)
       at android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(SourceFile:679)
       at android.support.v4.app.FragmentPagerAdapter.finishUpdate(SourceFile:143)
       at android.support.v4.view.ViewPager.populate(SourceFile:1240)
       at android.support.v4.view.ViewPager.populate(SourceFile:1088)
       at android.support.v4.view.ViewPager.setAdapter(SourceFile:542)
       at com.example.app.SomeActivity.onSomeAsyncCallback(SourceFile:908)
       at com.example.app.SomeDataRetriever.onAsyncHttpCompleted(SourceFile:72)
       at com.example.app.io.AsyncHttp.onPostExecute(SourceFile:141)
       at com.example.app.io.AsyncHttp.onPostExecute(SourceFile:19)
       at android.os.AsyncTask.finish(AsyncTask.java:679)
       at android.os.AsyncTask.access$500(AsyncTask.java:180)
       at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:696)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:150)
       at android.app.ActivityThread.main(ActivityThread.java:5665)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:799)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:689)

Это версия 9.6.1, и мы также используем другие компоненты Firebase:

compile 'com.google.firebase:firebase-ads:9.6.1'
compile 'com.google.firebase:firebase-config:9.6.1'
compile 'com.google.firebase:firebase-invites:9.6.1'
compile "com.google.firebase:firebase-messaging:9.6.1"

Как я вижу из документации и Javadoc, нам не нужно было выполнять какую-либо ручную инициализацию в нашем случае.

Исключение происходит на Android 4-6 на различных устройствах.

Редактировать:

Я вижу, что этот вопрос привлекает немного внимания. Я думаю, что это объяснение может быть интересным для некоторых из вас: https://firebase.googleblog.com/2016/12/how-does-firebase-initialize-on-android.html

Рой Солберг
источник
1
Попробуйте выполнить поиск по запросу «FirebaseApp по умолчанию не инициализирован». Есть много разных обстоятельств, которые могут вызвать это.
Дуг Стивенсон
Да, у меня есть. Не нашел ничего с подходящими обстоятельствами, поэтому я и спрашиваю. Мог бы упомянуть об этом в Q.
Рой Солберг
Можете ли вы привести минимальный пример, воспроизводящий эту проблему, и показать манифест, build.gradle и Activity?
Дуг Стивенсон
Вы инициализируете Firebase в ContentProvider или в своем классе Application?
Эндрю Келли
2
Я испытываю ту же проблему для небольшого процента игроков. Использование последней версии 10.0.1
Дмитрий

Ответы:

136

У меня была такая же проблема некоторое время назад.

Вы пытаетесь получить экземпляр Firebase без его инициализации. Пожалуйста, добавьте эту строку кода, прежде чем пытаться получить экземпляр Firebase:

FirebaseApp.initializeApp(this);
Габриэль Лиденор
источник
3
@Henrik Только в ExtendedApplication.onCreate ().
Рой Солберг
5
Ну, это не работает для меня (все еще несколько сбоев в производстве). Я попытаюсь добавить код инициализации в мой первый Activity onCreate ().
Себастьян
77
Важно отметить, что помимо этой инициализации, службы Google должны применяться следующим образом:apply plugin: 'com.google.gms.google-services'
pamobo0609
2
в каком файле я должен добавить этот MainActivity.java?
abhit
23
Для меня версия com.google.gms: google-services: 4.1.0 зависала, но com.google.gms: google-services: 4.0.1 работала
Игорь Чордаш
346

Обязательно добавьте в свой корневой уровень build.gradle

buildscript {
    // ...
    dependencies {
        // ...
        classpath 'com.google.gms:google-services:4.3.2'
    }
}

Затем в файле Gradle уровня вашего модуля (обычно это app / build.gradle), добавьте строку «apply plugin» внизу файла, чтобы включить плагин Gradle:

apply plugin: 'com.android.application'

android {
  // ...
}

dependencies {
  // ...
  implementation 'com.google.firebase:firebase-core:9.6.1'
  // Getting a "Could not find" error? Make sure you have
  // the latest Google Repository in the Android SDK manager
}

// ADD THIS AT THE BOTTOM
apply plugin: 'com.google.gms.google-services'

Как сказано в документации . У меня было исключение, как в вопросе выше, когда я забыл добавить это в мои файлы Gradle.

Леонид
источник
2
Проверьте и проверьте. Только что проверил, что у нас файлы Gradle как описано. Я должен отметить, что код хорошо работает для многих пользователей.
Рой Солберг
3
'применить плагин:' com.google.gms.google-services 'работал для меня.
Rockyfish
7
Не помогло в моем случае. И проблема затрагивает крайне небольшой процент игроков. Так что, скорее всего, это не проблема с кодом или настройками, а с возможностью взаимодействия с сервисами воспроизведения, установленными на устройствах пользователя :-(
Дмитрий
2
спасибо :) Я забыл добавить эту строку в build.gradle: применить плагин: 'com.google.gms.google-services'
Richi
1
Превосходно .. отличный анализ
Sandip Wankhede
126

Кажется, что google-services:4.1.0есть проблема. Либо понизить его до

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

или обновить его до

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

dependencies {
    classpath 'com.android.tools.build:gradle:3.3.0-alpha08'
    classpath 'com.google.gms:google-services:4.2.0'
    /*classpath 'com.google.gms:google-services:4.1.0' <-- this was the problem */
}

Надеюсь, поможет

Аммар Бухари
источник
9
Это сработало и для меня. Кажется, есть какая-то проблема с 4.1.0
Iuq
Я только что обнаружил эту проблему и, кроме того, обнаружил, что уже доступно обновление в Android Studio 3.2 для Android SDK Build-Tools (Инструменты -> Менеджер SDK -> Инструменты SDK), применение этого обновления позволило мне использовать classpath 'com.google.gms:google-services:4.1.0'снова. YMMV.
Иан Каннингем,
2
О боже, буквально потратил больше 2 недель на то, чтобы это заработало, и все, что мне нужно было сделать, - это понизить рейтинг с 4.1.0 до 4.0.0?!?!?!
Огромное
4
В соответствии с выпуском трекера будет исправлено в 4.2.0
куелые
Я только что понизил com.google.gms: google-services: 4.1.0 до om.google.gms: google-services: 4.0.0, и это работает. Это спасло мой день.
Анил
51

Мне не хватало строки ниже в моем файле app / build.gradle

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

и один раз очистить проект и запустить снова. Это исправило это для меня.

варотария вайси
источник
18
    classpath 'com.google.gms:google-services:4.1.0'

есть проблема. вместо этого используйте:

    classpath 'com.google.gms:google-services:4.2.0'
Alp Altunel
источник
15

Прежде всего вам нужно добавить com.google.gms: google-services: xxx на корневом уровне build.gradle

buildscript {
repositories {
    jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:2.3.1'
    classpath 'com.google.gms:google-services:3.0.0'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}

}

После этого вам нужно применить плагин: «com.google.gms.google-services» в app / build.gradle

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
compile 'com.android.support:cardview-v7:25.3.1'

compile 'com.google.android.gms:play-services-gcm:9.8.0'
compile 'com.google.android.gms:play-services-maps:9.8.0'
compile 'com.google.android.gms:play-services-location:9.8.0'
compile 'com.google.firebase:firebase-messaging:9.8.0'
testCompile 'junit:junit:4.12'
}


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

и если проблема все еще возникает, вам нужно добавить

FirebaseApp.initializeApp(this);

как раз перед тем как звонить

FirebaseInstanceId.getInstance().getToken();
ankurdayalsingh
источник
12

После обновления различных зависимостей я получил ошибку Crashlytics во время компиляции: «Crashlytics обнаружил недопустимый ключ API: null. Проверьте плагин Crashlytics, чтобы убедиться, что приложение было успешно добавлено! Свяжитесь с support@fabric.io для получения помощи. ' Единственный неавтоматический ответ, который я получил от неоднократных попыток support@fabric.io, на которые вас направляет ошибка, заключался в том, что Fabric и Crashlytics - это отдельные команды, поэтому они не могли мне помочь. Я избегал внедрения дополнительного слоя Fabric в Crashlytics и не смог получить новый ключ с сайта Fabric или даже заставить сайт узнать меня. Пытаясь обойти это, просто удалив Crashlytics из моего кода, я получил «По умолчанию FirebaseApp не инициализируется в этом процессе com.example.app. Обязательно вызовите FirebaseApp.initializeApp (Context) первым 'сбой в процессе.

Мне никогда не приходилось добавлять строку инициализации 'FirebaseApp.initializeApp (this)', и фактически она была закомментирована. В документации даже упоминается, что это не нужно, если только использовать Firebase для одного действия. Добавление не имело никакого значения, все еще получил ошибку убийства пробега.

Оказывается, что причиной новых непонятных ошибок была обновленная зависимость google-services. На данный момент у меня нет времени проводить больше дней, пытаясь исправить ошибки ружья, вызванные новой зависимостью, поэтому, пока кто-то не найдет решения, я буду придерживаться старой версии. Помимо нечетного сбоя при инициализации, новая версия может принуждать пользователей Fabric к Crashlytics. Для этого пользователям также приходится возвращаться к старой версии зависимости: Crashlytics обнаружил недопустимый ключ API: null. после обновления com.google.gms: google-services: 4.1.0

com.google.gms:google-services:4.1.0//BAD
com.google.gms:google-services:4.0.1//GOOD

РЕДАКТИРОВАТЬ 17/17/18: после обновления следующих зависимостей снова

implementation 'com.google.firebase:firebase-ads:17.0.0'
implementation 'com.google.firebase:firebase-auth:16.0.4'
implementation 'com.google.firebase:firebase-database:16.0.3'
implementation 'com.google.firebase:firebase-core:16.0.4

Я получил немедленный сбой при попытке установки с «xxx неожиданно закрылся», как, например, когда я пытался обновить зависимость google-services. Покопавшись в журнале, я нашел ссылку, указывающую мне добавить это в манифест

<meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="ca-app-pub-xxxxxx~xxxxxx"/>

Это новое и не упоминается в инструкциях по настройке и вставке здесь https://firebase.google.com/docs/android/setup и здесь https://developers.google.com/admob/android/interstitial .

Раньше мне приходилось иметь дело только с одним идентификатором, связанным с рекламой, для моего приложения, INTERSTITIAL_UNIT_ID. Теперь нужно разобраться с двумя. Помимо вышеупомянутого добавления, документация предписывает добавить здесь ADMOB_APP_ID (тот же номер, который вы связываете с ads.APPLICATION_ID в новом коде манифеста)

MobileAds.initialize(this, ADMOB_APP_ID);

Идентификаторы INTERSTITIAL_UNIT_ID и ADMOB_APP_ID можно найти в консоли Google AdMob. Мое игровое приложение перестало показывать рекламу при моем первом обновлении зависимостей firebase и до сих пор не показывает рекламу, выдав код ошибки 0 в

public void onAdFailedToLoad(int errorCode){...

Даже после всего этого добавленного беспорядка я все еще не могу обновить зависимость google-services без ошибки запуска инициализации. Я ожидаю, что застряну в google-services: 4.0.1 на некоторое время.

РЕДАКТИРОВАТЬ 24/24/18: из mobileadssdk-advisor+support@google.com после нескольких недель переписки о том, что реклама не показывается после обновлений:

«Спасибо за обмен журналами устройства. Из журналов это выглядит как существующая проблема, и она находится в нашем списке приоритетов, и наша команда работает над исправлением, и это происходит только на устройствах Android O и P ».

Только устройства O и P? Это две последние версии, которые вышли 25 сентября 2017 года.

Androidcoder
источник
3
Я испытал это точно также. Хотелось бы, чтобы Google не ломал сборки моего приложения каждый раз, когда они запускают обновление.
Пэтти П
Привет, я работаю, добавив apply plugin: 'com.google.gms.google-services'в свой build.gradle (с google-services: 4.1.0)
Николас Маути
10

Как упомянуто @PSIXO в комментарии, это может быть проблема с зависимой версией google-сервисов. Для меня меняется,

buildscript {
    // ...
    dependencies {
        // ...
        classpath 'com.google.gms:google-services:4.1.0'
    }
}

в

buildscript {
    // ...
    dependencies {
        // ...
        classpath 'com.google.gms:google-services:4.0.1'
    }
}

сработало. Может быть какая-то проблема с версией 4.1.0. Поскольку я потратил много времени на это, я подумал написать это как ответ.

Ааюш Сингла
источник
1
да для меня это сработало, изменив версию сборки на 4.0.1. Это может быть некоторая проблема зависимости
Авраам Мэтью
4
После обновления всех версий до последней (4.2.0) это решило проблему для меня
david72
7

Если вы используете FirebaseUI , нет необходимости в FirebaseApp.initializeApp(this);в коде в соответствии образца .

Обязательно добавьте в свой корневой уровень build.gradle:

buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        ...
        classpath 'com.google.gms:google-services:3.1.1'
        ...
    }
}

Затем на уровне вашего модуля Gradle файл:

dependencies {

    ...

    // 1 - Required to init Firebase automatically (THE MAGIC LINE)
    implementation "com.google.firebase:firebase-core:11.6.2"

    // 2 - FirebaseUI for Firebase Auth (Or whatever you need...)
    implementation 'com.firebaseui:firebase-ui-auth:3.1.2'
    ...
}

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

Вот и все. Больше не нужно.

Фил
источник
5

Вам нужно добавить зависимость buildscript Firebase Gradle в build.gradle (уровень проекта)

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

и добавьте плагин Firebase для Gradle в app / build.gradle

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

build.gradle will include these new dependencies:
    compile 'com.google.firebase:firebase-database:11.0.4'

Источник: Android Studio Assistant

Artificioo
источник
5

Другое возможное решение - попробуйте другую Android Studio, если вы используете несколько бета-версий. Помог мне. Новая Android Studio просто не добавила Firebase должным образом. В моем случае 3.3preview

После еще одного исследования я обнаружил, что проблема в том, что новая Android-студия начинает проект с более новой версией Служб Google, и похоже, что это была первоначальная проблема. Как @Ammar Bukhari предположил, что это изменение помогло:

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

Александр Бабич
источник
4

В моем случае подключаемый модуль служб Google не создавал требуемый values.xmlфайл из google-services.jsonфайла. Библиотека Firebase использует этот сгенерированный файл значений для своей инициализации, и похоже, что она не выдает ошибку, если файл значений не может быть найден. Убедитесь, что файл значений существует в следующем месте и заполнен соответствующими строками из вашего google-sevices.jsonфайла:

app/build/generated/res/google-services/{build_type}/values/values.xml

и / или

app/build/generated/res/google-services/{flavor}/{build_type}/xml/global_tracker.xml

Подробнее см .: https://developers.google.com/android/guides/google-services-plugin.

Мой конкретный случай был вызван использованием версии инструментов Gradle, которая была слишком продвинутой для той версии Android Studio, на которой я работал (т.е. убедитесь, что вы используете инструменты ранга v3.2.X-YYY с Android Studio v3.2).

Это
источник
4

Нам не нужноFirebaseApp.initializeApp(this); никуда звонить вручную. и мы не должны тоже.

Я только столкнулся с той же самой проблемой об этом и получил неожиданное и странное решение.

Из этого ответа:

Я удалил, tools:node="replace"и это работает как шарм.

Румит Патель
источник
4

Я предполагаю, что есть проблемы совместимости с версией google-сервисов и версий firebase.

Я изменил в файле build.gradle проекта, зависимость

classpath 'com.google.gms: google-services: 4.1.0' до 4.2.0

а затем обновил зависимости модуля build.gradle:

реализация "com.google.firebase: база данных firebase: 16.0.6"

реализация "com.google.firebase: firebase-core: 16.0.7"

Все работает как шарм, нет необходимости вводить FirebaseApp.initializeApp (это);

Хуан Карлос Итурриагоагития
источник
я решаю свою проблему после понижения 'com.google.firebase: firebase-core: 16.0.8' до 'com.google.firebase: firebase-core: 16.0.7', спасибо
Nanda Z
3

Причиной этого является com.google.gms: версия google-services . Когда я использовал 4.1.0 , я столкнулся с той же ошибкой. Тогда я понижаю версию. Перед

classpath 'com.android.tools.build:gradle:3.3.0'
classpath 'com.google.gms:google-services:4.1.0'

После

classpath 'com.android.tools.build:gradle:3.3.0'
classpath 'com.google.gms:google-services:3.2.0'

Надеюсь, это решит ошибку.

М-р Накибул Хасан
источник
3

Если вы недавно обновили Android Studio до версии 3.3.1, в которой есть проблема с зависимостями com.google.gms: google-services (ниже 4.2.0), обновите com.google.gms: google-services до 4.2.0.

dependencies {
    classpath 'com.android.tools.build:gradle:3.3.1'
    classpath 'com.google.gms:google-services:4.2.0'
    }
Himanshu
источник
3

Одной из причин этого может быть забвение добавления android.permission.INTERNETразрешений вAndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" />
Бьянка
источник
2

для меня это было обновление зависимостей com.google.gms: google-services внутри build.gradle до

buildscript {
repositories {
    jcenter()
    mavenCentral()
    maven {
        url 'https://maven.google.com/'
        name 'Google'
    }
    google()
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.3.2'
    classpath 'com.google.gms:google-services:4.2.0'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}
JMZ
источник
0

Хотя ручная инициализация Firebase с помощью FirebaseApp.initializeApp(this);делает ошибку исчезающей, она не устраняет основную причину, но некоторые странные проблемы не решаются, такие как

  • FCM требует com.google.android.c2dm.permission.RECEIVEразрешения, которое только для GCM
  • токен становится незарегистрированным после отправки первого уведомления
  • сообщение не получено / onMessageReceived () никогда не вызывается,

Используйте более новый плагин Gradle (например, плагин Android 2.2.3 и Gradle 2.14.1) все исправлено. (Конечно, установка должна быть правильной согласно документации Firebase )

Beeing Jk
источник
Вау, это интересная информация. Поскольку проблема возникает с таким количеством людей, трудно сказать, видели ли мы что-либо из этого. Возможно, нам следует попробовать удалить его снова и использовать более новые версии Gradle.
Рой Солберг
0

Моя проблема не была решена с помощью этой процедуры

FirebaseApp.initializeApp(this); 

Поэтому я попробовал что-то еще, и теперь моя база данных была успешно инициализирована. Попробуйте добавить следующее в app module.gradle

BuildScript{
dependencies {..
classpath : "com.google.firebase:firebase-plugins:1.1.5"
    ..}
}

dependencies {...
implementation : "com.google.firebase:firebase-perf:16.1.0"
implementation : "com.google.firebase:firebase-core:16.0.3"
..}
Fahad
источник
0

Нажмите Tools> Firebase, чтобы открыть окно Assistant.

Нажмите, чтобы развернуть одну из перечисленных функций (например, Google Analytics), затем щелкните предоставленную ссылку учебника (например, Журнал событий Google Analytics).

Нажмите кнопку Connect to Firebase, чтобы подключиться к Firebase и добавить необходимый код в ваше приложение.

https://firebase.google.com/docs/android/setup

Крекер
источник
0

Установленная Firebase через Android Studio Tools ... Firebase ...

Я сделал установку с помощью встроенных инструментов из Android Studio (следуя последним документам от Firebase). Это установило основные зависимости, но когда я пытался подключиться к базе данных, это всегда давало мне ошибку, которую мне нужно было сначала вызвать инициализировать, даже если я был:

FirebaseApp по умолчанию не инициализируется в этом процессе. Не забудьте сначала вызвать FirebaseApp.initializeApp (Context).

Я получал эту ошибку независимо от того, что я сделал.

Наконец, увидев комментарий в одном из других ответов, я изменил следующее в своем Gradle с версии 4.1.0 на:

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

Когда я сделал это, я наконец увидел ошибку, которая помогла мне:

Файл google-services.json отсутствует. Плагин Google Services не может функционировать без него. Место поиска: C: \ Users \% username% \ AndroidStudioProjects \ TxtFwd \ app \ src \ nullnull \ debug \ google-services.json
C: \ Users \% username% \ AndroidStudioProjects \ TxtFwd \ app \ src \ debug \ nullnull \ google-services.json
C: \ Users \% username% \ AndroidStudioProjects \ TxtFwd \ app \ src \ nullnull \ google-services.json
C: \ Users \% username% \ AndroidStudioProjects \ TxtFwd \ app \ src \ debug \ google- services.json
C: \ Users \% username% \ AndroidStudioProjects \ TxtFwd \ app \ src \ nullnullDebug \ google-services.json
C: \ Users \% username% \ AndroidStudioProjects \ TxtFwd \ app \ google-services.json

Это проблема. Кажется, что версия 4.1.0 по какой-то причине не дает этой ошибки сборки - не говоря уже о том, что у вас отсутствует файл google-services.json. В моем приложении нет файла google-services.json, поэтому я вышел и добавил его.

Но поскольку это было обновление, в котором использовалась существующая база данных firsbase в реальном времени, мне никогда не приходилось создавать этот файл в прошлом. Я пошел в firebase, сгенерировал и добавил, и это решило проблему.

Вернулся на 4.1.0

Как только я обнаружил все это, я изменил переменную classpath обратно (на 4.1.0) и перестроил, и она снова вылетела с ошибкой, что она не была инициализирована.

Коренные проблемы

  • Сборка с 4.1.0 не дает вам допустимой ошибки при прекомпиляции, поэтому вы можете не знать, что происходит.
  • Запуск против 4.1.0 вызывает ошибку инициализации.
raddevus
источник
0

используйте com.google.gms: google-services: 4.0.1 'вместо 4.1.0

Тони Масиас
источник
0

изменения

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

в

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

Работает для меня

Фавад Хан
источник
Использование следующих последних версий помогло мне решить проблему. Нет необходимости понижать :) classpath 'com.android.tools.build:gradle:3.4.2' classpath 'com.google.gms: google-services: 4.3.0'
гранат
0

Следуя ответу @Gabriel Lidenor, инициализация приложения с контекстом не работает в моем случае. Что делать, если вы пытаетесь создать приложение firebase без google-service.json? Поэтому перед инициализацией любого количества приложений Firebase сначала необходимо выполнить инициализацию как;

FirebaseOptions options = new FirebaseOptions.Builder().setApplicationId("APP_ID")
                    .setGcmSenderId("SENDER_ID").build();
FirebaseApp.initializeApp(context, options, "[DEFAULT]");
Мухаммед Ялчин Куру
источник
-1

Придется инициализировать Firebase в функции onCreate класса приложения.

 package com.rocks.music.videoplayer;

 import android.app.Application;
 import android.content.Context;

 import com.google.firebase.FirebaseApp;


/**
* Created by ashish123 on 22/8/15.
  */
 public class MyApplication extends Application {

private static MyApplication mInstance;

@Override
public void onCreate() {
    super.onCreate();
    mInstance = this;
    try {
        FirebaseApp.initializeApp(this);
    }
    catch (Exception e) {
    }
}

public static Context getInstance() {
    return mInstance;
}

}

Код в файле манифеста: -

  <application
    android:name="com.rocks.music.videoplayer.MyApplication"
    android:allowBackup="true"
    android:icon="@drawable/app_icon"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
Ашиш Сайни
источник
-1

Причина и решение: это распространенная ошибка, которую вы получите в большинстве случаев. Причина: когда вы интегрируете свой проект с Firebase, он добавляет зависимости

implementation 'com.google.firebase:firebase-auth:16.1.0'
implementation 'com.google.android.gms:play-services-auth:16.0.1'

и classpath

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

вам просто нужно обновить их

Вот как вы можете обновить

иди в Gradle Sript и сделай это

Мухаммед Али
источник