FirebaseApp за замовчуванням не ініціалізується


235

Ми бачимо кілька винятків із цього повідомлення 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
Спробуйте пошукати SO для "FirebaseApp за замовчуванням не ініціалізований". Існує багато різних обставин, які можуть спричинити це.
Дуг Стівенсон

Так, я маю. Не знайшли жодних із відповідними обставинами, тому я прошу. Не могли б це згадати у запитанні
Рой Солберг

Чи можете ви надати мінімальний приклад, який відтворює цю проблему та показує маніфест, build.gradle та Activity?
Даг Стівенсон

Ви ініціалізуєте Firebase в ContentProvider або у вашому класі додатків?
Ендрю Келлі

2
Я відчуваю ту саму проблему для невеликого відсотка гравців. Використовуючи останні 10.0.1
Дмитро

Відповіді:


136

У мене був такий самий випуск деякий час тому.

Ви намагаєтеся отримати екземпляр Firebase без ініціалізації. Будь ласка, додайте цей рядок коду, перш ніж спробувати отримати екземпляр Firebase:

FirebaseApp.initializeApp(this);

3
@Henrik Тільки в ExtendedApplication.onCreate ().
Рой Солберг

5
Ну, це для мене не вийшло (все-таки кілька збоїв у виробництві). Я спробую додати код init до моєї першої діяльності 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 працював
Ігор Чордаш

345

Обов’язково додайте до свого root.gradle кореневого рівня

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

Потім у файлі Gradle на рівні модуля (зазвичай додаток / build.gradle) додайте рядок "застосувати плагін" внизу файлу, щоб увімкнути плагін 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, як описано. Я мушу зазначити, що код працює нормально для багатьох користувачів.
Рой Солберг

Можливо, ви змішуєте свої бібліотечні версії. У мене була така ж проблема, коли я намагався використовувати компіляцію, 'com.google.firebase:firebase-core:9.8.0' тому я змінив, compile 'com.google.firebase:firebase-core:9.6.0'щоб відповідати моїм іншим бібліотекам. Оригінальна відповідь Ви змішуєте версії SDK Firebase. як пояснено
crakama

3
'застосувати плагін:' com.google.gms.google-services 'працював на мене.
Скелястий риб

7
Не допомогло в моєму випадку. І питання стосується надзвичайно малого відсотка гравців. Отже, швидше за все, це не проблема з кодом або налаштуваннями, а з взаємодією із послугами відтворення, встановленими на пристроях користувача :-(
Дмитро

2
дякую :) Я забув додати цей рядок у build.gradle: застосувати плагін: 'com.google.gms.google-services'
Richi

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
липня

Я також виявив цю проблему, а також з’ясував, що в Android Studio 3.2 було встановлено оновлення для Android SDK Build-Tools (Інструменти -> Менеджер SDK -> Інструменти SDK), застосувавши це оновлення, дозвольте мені classpath 'com.google.gms:google-services:4.1.0'знову користуватися. YMMV.
IainCunningham

2
omg, буквально витратив час понад 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

У моєму додатку / 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'

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' у програмі / 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();

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-сервісів. На даний момент я не маю часу витрачати більше днів на виправлення помилок рушниці, які викликає нова залежність, тому поки хтось не придумає рішення, я буду дотримуватися старої версії. Окрім випадкової аварії ініціалізації, нова версія, можливо, змушує 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

EDIT 10/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-служб. Копаючись до журналу, я знайшов посилання, яке спрямовувало мене додати це до маніфесту

<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 (те саме число, яке ви пов’язуєте з оголошеннями.APPLICATION_ID у новому коді маніфесту)

MobileAds.initialize(this, ADMOB_APP_ID);

Ідентифікатори INTERSTITIAL_UNIT_ID та ADMOB_APP_ID можна викопати у вашій консолі Google AdMob. Мій додаток для гри припинив показ оголошень під час мого першого оновлення залежностей від базі даних, і досі не показує оголошення, даючи код помилки 0 у

public void onAdFailedToLoad(int errorCode){...

Навіть після того, як все це додало безладу, я все ще не можу оновити залежність від служб google без ініціалізації аварії запуску помилок. Я очікую, що на деякий час буде застряг у google-сервісах: 4.0.1.

РЕДАКТИРУЙТЕ 24.10.18: з mobileadssdk-advisor+support@google.com після тижнів листування, коли не надходить показ оголошень після оновлень:

"Дякуємо, що поділилися журналами пристроїв. З журналів це виглядає як існуюча проблема, і це в нашому списку пріоритетів, і наша команда працює над виправленням, і це відбувається лише на пристроях Android O і P. '

Тільки пристрої O і P? Ось дві останні версії, O вийшли 25 вересня 2017 року. Yikes.


3
Я пережив це саме так. Бажаю, щоб Google не порушував мої програми, коли вони надсилали оновлення.
Patty P

Привіт, я працюю, додавши apply plugin: 'com.google.gms.google-services'в свій build.gradle (з google-services: 4.1.0)
Nicolas Mauti

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);в коді в відповідно зразка .

Обов’язково додайте до свого root.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 в додаток / 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


5

Ще одне можливе рішення - спробуйте іншу Android Studio, якщо ви використовуєте деякі бета-версії. Допомогли мені. Нова Android Studio просто не додала Firebase належним чином. У моєму випадку 3.3перегляд

Провівши ще кілька розслідувань, я виявив, що нова Android-студія починає проект з новою версією Служб Google, і, схоже, це була первісна проблема. Як @Ammar Bukhari запропонував, ці зміни допомогли:

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


4

У моєму випадку плагін Gradle Grad Services не генерував потрібний 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: 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'
    }

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
}

0

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

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

Використовуйте новіший плагін Gradle (наприклад, плагін Android 2.2.3 та Gradle 2.14.1), виправлено все. (Звичайно, налаштування має бути правильним відповідно до документації Firebase )


О, це цікава інформація. З проблемою, що трапляється настільки мало ppl, важко сказати, чи ми бачили щось із цього. Можливо, нам слід спробувати її видалити ще раз і використовувати новіші версії Gradle.
Рой Солберг

0

Моя проблема не була вирішена за допомогою цієї процедури

FirebaseApp.initializeApp(this); 

Тому я спробував щось інше, і тепер моя Firebase була успішно ініціалізована. Спробуйте додати наступне в додатку 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"
..}

0

Клацніть Інструменти> Firebase, щоб відкрити вікно Assistant.

Клацніть, щоб розгорнути одну з перерахованих функцій (наприклад, Analytics), а потім натисніть надане посібник із посібника (наприклад, Увійти в подію Analytics).

Натисніть кнопку Підключити до Firebase, щоб підключитися до Firebase та додати необхідний код у додаток.

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


0

Встановлена ​​Firebase за допомогою інструментів Android Studio ... Firebase ...

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

У цьому процесі FirebaseApp не ініціалізується. Обов’язково спочатку зателефонуйте FirebaseApp.initializeApp (контекст).

Я отримував цю помилку, незалежно від того, що я робив.

Нарешті, побачивши коментар в одній з інших відповідей, я змінив наступне у своєму градусі з версії 4.1.0 на:

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

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

Файл google-services.json відсутній. Плагін Служб Google не може функціонувати без нього. Пошук: C: \ Користувачі \% ім'я користувача% \ 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, тому я вийшов і додав його.

Але оскільки це було оновлення, яке використовувало існуючу базу даних в режимі реального часу, мені раніше не довелося генерувати цей файл. Я перейшов до firebase і створив її, додав її, і це вирішило проблему.

Змінено назад до 4.1.0

Після того, як я виявив усе це, я змінив змінну classpath назад (на 4.1.0) і відновив її, і вона знову зазнала аварії з помилкою, яку вона не була використана.

Кореневі проблеми

  • Побудова з 4.1.0 не дає вашої помилки при попередньому компілюванні, тому ви можете не знати, що відбувається.
  • Запуск проти 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 'com.google.gms:google-services:4.1.0'

їх просто потрібно оновити

Ось як можна оновити

перейдіть до gradle sript і зробіть це

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.