Default FirebaseApp is not initialized
Asked Answered
R

38

370

We're seeing a few exceptions with the message Default FirebaseApp is not initialized in this process com.example.app. Make sure to call FirebaseApp.initializeApp(Context) first. in our Android app in which we just added Firebase Remote Config.

The stack trace is as follows:

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)

This is version 9.6.1 and we're also using other Firebase components:

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"

As I can see from the documentation and the Javadoc we shouldn't have to do any manual initialization in our case.

The exception happens on Android 4-6 on a variety of devices.

Edit:

I see this question gets a little bit of attention. I think this explanation can be interesting for some of you: https://firebase.googleblog.com/2016/12/how-does-firebase-initialize-on-android.html

Rachele answered 17/10, 2016 at 8:19 Comment(16)
Try searching SO for "Default FirebaseApp is not initialized". There are a lot of different circumstances that might cause this.Babbage
Yeah, I have. Didn't find any with matching circumstances, so that's why I'm asking. Could've mentioned that in the Q.Rachele
Are you able to produce a minimal example the reproduces this problem, and show the manifest, build.gradle, and Activity?Babbage
Do you initialise Firebase in a ContentProvider or in your Application class?Tourney
We initialize Firebase in our Application class. We'll move that. However, the app should in theory be a single process app. In that case nothing should be wrong, should it? Looking at the numbers now, the exception has happened to 26 of more than 1 million users that should've run the same callback as in the stack trace.Rachele
Hi, may I know do you solve your problem? We have the same problem here too. We are using com.google.firebase:firebase-core:10.0.1 and FirebaseRemoteConfig.getInstance. We don't call FirebaseApp.initializeApp explicitly as it is not stated in documentation. Our code works for most users. Except, we experience similar crash log, for a very few users using Android 4.1Chitkara
I experience the same problem for a small percentage of players. Using the latest 10.0.1Asquint
We're seeing this in like 0.0025% of our users.. So it isn't a big issue, but it still is a few thousand users.Rachele
@DougStevenson Any thoughts on why me and dmitry would see this for just a very small part of our user base? You asked for a minimal example to reproduce the problem, but it seems like we need a big user base to reproduce it. Personally I haven't seen this issue on any our devices.Rachele
@RoySolberg I read that blog post, but my app is single-process. And I am pretty sure that the most of us would have preferred calling initialiser instead of getting a "magical" bug affecting some users but not happening on our test devices :-(Asquint
@Asquint Agreed. I wonder if it could be Firebase (or maybe some other lib we're using) firing up a second process and then our apps wouldn't be single-process any longer.Rachele
Those who mentioned that they are using FirebaseRemoteConfig.getInstance() shouldn't worry because internally .getInstance does call FirebaseApp var0 = FirebaseApp.getInstance();.Tanganyika
btw, I'm facing same issue while executing test cases for one of FirebaseMessage class component. No issue in actual code functionality, it's working as expected. Any suggestion !Stenosis
We are also facing this issue just on line - "val firebaseRemoteConfig = FirebaseRemoteConfig.getInstance()"Fib
Only Firebase assistant can correct the dependencies, and connect the project with the Firebase developers console. It also provides the necessary code.Denudate
For me what worked was actually updating Android Studio to the latest version.Mccreary
C
174

I had this same issue some time ago.

You're trying to get an instance of Firebase without initialize it. Please add this line of code before you try to get an instance of Firebase, in your main function or a FutureBuilder:

FirebaseApp.initializeApp();
Catechin answered 10/1, 2017 at 13:11 Comment(18)
Did you add this to an extended Application class and onCreate or in your activity before using an Firebase API?Marismarisa
@Marismarisa Only in ExtendedApplication.onCreate().Rachele
@RoySolberg Was this enough to completely solve the issue in your case?Medial
@Sébastien Yes. We have not seen the issue since we added that line.Rachele
Well, this did not work for me (still a few crashes in production). I will try adding the init code to my first Activity onCreate().Medial
@Sébastien using in main class with this instead of contexts will resolve the issue give it a tryHalland
It's important to note that besides this initialization, the google services must be applied as follows: apply plugin: 'com.google.gms.google-services'Westhead
in which file do i have to add this MainActivity.java?Dyeline
For me version com.google.gms:google-services:4.1.0 was crashing but com.google.gms:google-services:4.0.1 workedImportant
PSIXO's solution worked for me as well. Change the project's build.gradle to use classpath 'com.google.gms:google-services:4.0.1' instead of 4.1.0 and the crash no longer happens in my app (which is just the sample MLKit starter app).Faa
Downgrading google service plugin from version 4.1.0 to version 4.0.1 in my project's build.gradle worked for me. classpath 'com.google.gms:google-services:4.0.1'Muskogean
Using following latest versions helped me resolve the issue. No need to downgrade :) classpath 'com.android.tools.build:gradle:3.4.2' classpath 'com.google.gms:google-services:4.3.0'Cliffcliffes
I tried adding it in my SplashActivity but my app crashes when receiving the push notification.Rhigolene
@Rhigolene you should add it to your main activity, your Splash Activity only runs when you open the app.Catechin
@GabrielLidenor thank you it doesn't crash now but it still doesn't display in my emulator.Rhigolene
Only Firebase assistant can correct the dependencies, and connect the project with the Firebase developers console. It also provides the necessary code.Denudate
Guys exactly in which file do we have to put FirebaseApp.initializeApp(this); ???Cardie
pamobo0609's solution about adding the google play services plugin solved it, has nothing to do with initializing anythingNotions
S
490

Make sure to add to your root-level build.gradle

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

Then, in your module level Gradle file (usually the app/build.gradle), add the 'apply plugin' line at the bottom of the file to enable the Gradle plugin:

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'

As said in documentation. I had exception as in a question above when forgot to add this in my gradle files.

Sullen answered 17/10, 2016 at 11:22 Comment(12)
Check, and check. Just verified that we the Gradle files as described. I should mention that the code works okay for a lot of users.Rachele
It could be that you are mixing your library versions. I had the same issue when I tried using compile 'com.google.firebase:firebase-core:9.8.0' so I changed to compile 'com.google.firebase:firebase-core:9.6.0' to match my other libraries. Original answer You're mixing Firebase SDK versions. as explainedWastebasket
'apply plugin: 'com.google.gms.google-services' worked for me.Zane
Did not help in my case. And the issue affects extremely small percentage of players. So, most likely it is not a problem with the code or settings, but with interoperability with play services installed n the user's devices :-(Asquint
thanks :) I forget to add this line in build.gradle : apply plugin: 'com.google.gms.google-services'Ascender
why does the plugin have to be last?Nap
This was the only problem, no need to initialize eitherGnosis
If an answer has this many upvotes it should be the first answer in the list. In my case I made the mistake of putting the apply plugin in the project level gradle file.Figge
apply plugin: 'com.google.gms.google-services' this worked for me as wellHistrionic
This worked for me as well after a frustrated search.. thank youSubterranean
There is an issue I am also using apply plugin: 'com.google.firebase.firebase-perf' apply plugin: 'com.google.firebase.crashlytics' These are needed below apply plugin: 'com.google.gms.google-services' If I keep these three plugins on top they do work, but I am left with the issue If I move them to bottom project build failsRase
apply plugin: 'com.google.gms.google-services' solved my issueNoel
C
174

I had this same issue some time ago.

You're trying to get an instance of Firebase without initialize it. Please add this line of code before you try to get an instance of Firebase, in your main function or a FutureBuilder:

FirebaseApp.initializeApp();
Catechin answered 10/1, 2017 at 13:11 Comment(18)
Did you add this to an extended Application class and onCreate or in your activity before using an Firebase API?Marismarisa
@Marismarisa Only in ExtendedApplication.onCreate().Rachele
@RoySolberg Was this enough to completely solve the issue in your case?Medial
@Sébastien Yes. We have not seen the issue since we added that line.Rachele
Well, this did not work for me (still a few crashes in production). I will try adding the init code to my first Activity onCreate().Medial
@Sébastien using in main class with this instead of contexts will resolve the issue give it a tryHalland
It's important to note that besides this initialization, the google services must be applied as follows: apply plugin: 'com.google.gms.google-services'Westhead
in which file do i have to add this MainActivity.java?Dyeline
For me version com.google.gms:google-services:4.1.0 was crashing but com.google.gms:google-services:4.0.1 workedImportant
PSIXO's solution worked for me as well. Change the project's build.gradle to use classpath 'com.google.gms:google-services:4.0.1' instead of 4.1.0 and the crash no longer happens in my app (which is just the sample MLKit starter app).Faa
Downgrading google service plugin from version 4.1.0 to version 4.0.1 in my project's build.gradle worked for me. classpath 'com.google.gms:google-services:4.0.1'Muskogean
Using following latest versions helped me resolve the issue. No need to downgrade :) classpath 'com.android.tools.build:gradle:3.4.2' classpath 'com.google.gms:google-services:4.3.0'Cliffcliffes
I tried adding it in my SplashActivity but my app crashes when receiving the push notification.Rhigolene
@Rhigolene you should add it to your main activity, your Splash Activity only runs when you open the app.Catechin
@GabrielLidenor thank you it doesn't crash now but it still doesn't display in my emulator.Rhigolene
Only Firebase assistant can correct the dependencies, and connect the project with the Firebase developers console. It also provides the necessary code.Denudate
Guys exactly in which file do we have to put FirebaseApp.initializeApp(this); ???Cardie
pamobo0609's solution about adding the google play services plugin solved it, has nothing to do with initializing anythingNotions
S
133

It seems that google-services:4.1.0 has an issue. Either downgrade it to

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

or upgrade it to

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 */
}

Hope it helps

Serg answered 2/9, 2018 at 10:23 Comment(6)
It worked for me as well. It seems there is some issue with 4.1.0Hoagland
I just found this problem too, and additionally found that there was an update available already in Android Studio 3.2 for the Android SDK Build-Tools (Tools --> SDK Manager --> SDK Tools), applying this update let me use classpath 'com.google.gms:google-services:4.1.0' again. YMMV.Cardin
omg, literally spent time over 2 weeks to get this working, and all I had to do was downgrade from 4.1.0 to 4.0.0?!?!?! Thank you tonsSommerville
according with issue tracker will be fixed in 4.2.0Caban
I just downgraded com.google.gms:google-services:4.1.0 to om.google.gms:google-services:4.0.0 and it works. It saved my day.Aboulia
4.0.2 is working well too according to issue trackerPontifical
C
78

UPDATE (19th Feb. 2024):


We do not need to call FirebaseApp.initializeApp(this); anywhere manually. And we should not too.

Possibility 1: (An old approach):

It seems that com.google.gms:google-services:4.3.9 has an issue.

We can either UPGRADE it to

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

or DOWNGRADE it to

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

dependencies {
    classpath 'com.android.tools.build:gradle:4.2.2'
    classpath 'com.google.gms:google-services:4.3.9'// <-- this was the problem
}

Possibility 2: More Info. here for both .kts and .gradle config files.

  • In your root-level (project-level) Gradle file (/build.gradle.kts or /build.gradle), add the Google services plugin as a dependency:
plugins {
  // Add the dependency for the Google services Gradle plugin
  id("com.google.gms.google-services") version "4.4.1" apply false
}
  • In your module (app-level) Gradle file (usually //build.gradle.kts or //build.gradle), add the Google services plugin:
plugins {
  // Add the Google services Gradle plugin
  id("com.google.gms.google-services")
}
  • Then clean project and run again. It worked for me.

Possibility 3:

I faced the same issue and got an unexpected and strange solution.

From this answer:

I removed tools:node="replace" from AndroidManifest.xml and it worked like a charm.

Crowl answered 2/1, 2019 at 9:4 Comment(5)
Downgrading to classpath 'com.google.gms:google-services:4.3.8' fixed the issue for me. BIG thanks!Clubbable
Dropping from 4.3.9 to 4.3.8 solved it for me as well, thanks! I recall upgrading from 4.0.x to 4.1.0 also had a very similar issue, it's baffling how often google-services versions break projects entirely.Equivoque
Downgrading was a quick fix, had just updated all the libraries. Hope a day will arrive where we won't have anxiety when we update libraries.Chela
Downgrading from 4.3.9 to 4.3.8 works for me too. +1Yasmineyasu
Yes, solved in 4.3.10 - but thanks to all!Manolo
P
61

I was missing the below line in my app/build.gradle file

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

and once clean project and run again. That fixed it for me.

Peggiepeggir answered 9/1, 2018 at 17:22 Comment(0)
T
18

First thing you need to add com.google.gms:google-services:x.x.x at root level 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
}

}

After that you need to apply plugin: 'com.google.gms.google-services' at 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'

and if still you are getting problem then you need to add

FirebaseApp.initializeApp(this);

just before you are calling

FirebaseInstanceId.getInstance().getToken();
Tieck answered 26/4, 2017 at 13:46 Comment(0)
M
18
    classpath 'com.google.gms:google-services:4.1.0'

has a problem. instead use:

    classpath 'com.google.gms:google-services:4.2.0'
Moskva answered 25/1, 2019 at 14:11 Comment(0)
M
16

After updating various dependencies I got a Crashlytics error in the compile, 'Crashlytics found an invalid API key: null. Check the Crashlytics plugin to make sure that the application has been added successfully! Contact [email protected] for assistance.' The one non-auto response I got from repeated attempts to [email protected] the error directs you to was that Fabric and Crashlytics are separate teams so they couldn't help me. I've avoided implementing the extra Fabric layer to Crashlytics, and was unable to get a new key from the Fabric site, or even get the site to recognize me. On attempting to work around this by just removing Crashlytics from my code, I got the 'Default FirebaseApp is not initialized in this process com.example.app. Make sure to call FirebaseApp.initializeApp(Context) first' crash in the run.

I've never had to add the initialization line of 'FirebaseApp.initializeApp(this)', and in fact had it commented out. The documentation even mentions not needing this if only using Firebase for one activity. Adding it made no difference, still got the run killing error.

Turns out what was causing the new obscure errors was the updated google-services dependency. For now, I don't have time to spend more days trying to fix the shotgun errors the new dependency is causing, so until someone comes up with solutions I'll stick to the old version. Besides the odd initialization crash, the new version may be forcing Fabric on Crashlytics users. Users are being forced back to the old dependency version for this too: Crashlytics found an invalid API key: null. after updated 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: After updating the following dependencies again

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

I got an immediate crash on the install attempt with 'xxx has unexpectedly closed', like when I attempted the google-services dependency update. Digging into the log I found a link directing me to add this to the manifest

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

This is new, and is not mentioned in the setup and interstitial instructions here https://firebase.google.com/docs/android/setup and here https://developers.google.com/admob/android/interstitial.

I used to only have to deal with one ad-related ID for my app, the INTERSTITIAL_UNIT_ID. Now two need to be dealt with. Besides the above addition, documentation directs adding ADMOB_APP_ID here (the same number you tie with ads.APPLICATION_ID in the new manifest code)

MobileAds.initialize(this, ADMOB_APP_ID);

The INTERSTITIAL_UNIT_ID and ADMOB_APP_ID ids can be dug up in your Google AdMob console. My game app stopped serving ads on my first update of the firebase dependencies and still does not serve ads, giving error code 0 in the

public void onAdFailedToLoad(int errorCode){...

Even after all this added clutter, I still can't update the google-services dependency without the initialize error run crash. I expect to be stuck at google-services:4.0.1 for some time.

EDIT 10/24/18: From [email protected] after weeks of correspondence on not getting ad serves after updates:

'Thanks for sharing the device logs. From the logs, it looks like an existing issue and this is on our priority list and our team is working on the fix and this is only happening on Android O and P devices.'

Only O and P devices? That's the last two versions, O came out on September 25, 2017. Yikes.

UPDATE 8/8/21: After updating google-services from 4.3.8 to 4.3.9 I'm suddenly getting this issue from almost 3 years ago again, despite having indeed called the initialization (although allegedly not needed). Will again have to delay update implementation:

//com.google.gms:google-services:4.3.9 BAD
com.google.gms:google-services:4.3.8//GOOD
Maid answered 4/10, 2018 at 18:31 Comment(2)
I experienced this exactly as well. Wish Google wouldn't break my app builds every time they push an update.Kelwunn
Hi, I get it working by adding apply plugin: 'com.google.gms.google-services' in my build.gradle (with google-services:4.1.0)Hite
P
10

As mentioned by @PSIXO in a comment, this might be the problem with the dependency version of google-services. For me changing,

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

to

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

worked.There might be some problem with 4.1.0 version. Because I wasted many hours on this, I thought to write this as an answer.

Postnatal answered 25/10, 2018 at 4:19 Comment(2)
yeah for me it worked by changing the build version to 4.0.1. It may be some dependency issuePub
After updating all versions to latest (4.2.0), that resolved the issue for meTutelage
A
10

2024 solution

I created my Android project in 2024, it is just a little different than the other answers.

  1. You do NOT need to call FirebaseApp.initializeApp(this) yourself
  2. You do NOT need <uses-permission android:name="android.permission.INTERNET" />
  3. Go to your Project's build.gradle and add id 'com.google.gms.google-services' version '4.3.15' apply false under plugins {
  4. Go to your Module's build.gradle and add id 'com.google.gms.google-services' under plugins {
Antihalation answered 14/2, 2023 at 10:23 Comment(1)
I have latest version 4.4.1 still getting the same issue. Did you have any solution for that?Oracle
M
9

For me the problem was that I did not add this line in app/build.gradle file.

apply plugin: 'com.google.gms.google-services'
Mapel answered 26/11, 2021 at 6:47 Comment(0)
O
8

If you are using FirebaseUI, no need of FirebaseApp.initializeApp(this); in your code according the sample.

Make sure to add to your root-level build.gradle :

buildscript {

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

Then, in your module level Gradle file :

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'

That's it. No need more.

Opalina answered 3/1, 2018 at 8:50 Comment(0)
L
6

You need add Firebase Gradle buildscript dependency in build.gradle (project-level)

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

and add Firebase plugin for Gradle in 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'

Source: Android Studio Assistant

Loaded answered 13/12, 2017 at 0:41 Comment(0)
I
5

In my case, the Google Services gradle plugin wasn't generating the required values.xml file from the google-services.json file. The Firebase library uses this generated values file to initialize itself and it appears that it doesn't throw an error if the values file can't be found. Check that the values file exists at the following location and is populated with the appropriate strings from your google-sevices.json file:

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

and/or

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

For more detail see: https://developers.google.com/android/guides/google-services-plugin

My particular case was caused by using a gradle tools version that was too advanced for the version of Android Studio that I was running (ie ensure you run grade tools v3.2.X-YYY with Android Studio v3.2).

Ideality answered 6/9, 2018 at 0:12 Comment(0)
J
5

Another possible solution - try different Android Studio if you are using some betas. Helped for me. New Android Studio simply didn't add Firebase properly. In my case 3.3preview

After some more investigation I found the problem was that new Android studio starts project with newer Google Services version and it looks it was the original problem. As @Ammar Bukhari suggested this change helped:

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

Janelljanella answered 15/9, 2018 at 16:16 Comment(0)
N
4

One of the reason of this happening could be to forgetting adding android.permission.INTERNET permissions in AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" />
Nachison answered 24/8, 2017 at 21:49 Comment(0)
O
4

I'm guessing there are compatibility problems with the version of google-services and firebase versions.

I changed in the Project's build.gradle file, the dependency

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

and then updated the module's build.gradle dependencies to:

implementation 'com.google.firebase:firebase-database:16.0.6'

implementation 'com.google.firebase:firebase-core:16.0.7'

Everything works like a charm, no need to type FirebaseApp.initializeApp(this);

Omari answered 5/2, 2019 at 18:23 Comment(1)
i solve my problem after downgrade 'com.google.firebase:firebase-core:16.0.8' to 'com.google.firebase:firebase-core:16.0.7', thanksReimer
M
3

Reason for happening this is com.google.gms:google-services version.When I was using 4.1.0, I faced the same error. Then I downgrade the version. Before

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

After

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

Hope, it will solve the error.

Mis answered 4/2, 2019 at 17:24 Comment(0)
O
3

If you recently update your Android Studio to 3.3.1 that have a problem with com.google.gms:google-services (Below 4.2.0) dependencies So please update com.google.gms:google-services to 4.2.0.

dependencies {
    classpath 'com.android.tools.build:gradle:3.3.1'
    classpath 'com.google.gms:google-services:4.2.0'
    }
Odelsting answered 12/2, 2019 at 11:30 Comment(0)
P
3

to me it was upgrading dependencies of com.google.gms:google-services inside build.gradle to

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
}
Philippine answered 10/3, 2019 at 1:13 Comment(0)
P
2

For latest android studio and sdk

----> add this line inside plugins{} of build:gradle(:app)

id 'com.google.gms.google-services'
Peony answered 30/10, 2022 at 2:10 Comment(0)
E
2

in gradle module file add

plugins {
...
id: 'com.google.gms.google-services'
}

verify the latest version from firebase and add in gradle project file.

for example current version is

 buildscript {
    dependencies {
        classpath 'com.google.gms:google-services:4.3.15'
    }
}
Eustace answered 21/3, 2023 at 11:55 Comment(0)
D
1

By following @Gabriel Lidenor answer, initializing app with context is not work in my case. What if you are trying to create firebase-app without google-service.json ? So before initializing any number of firebase app, first need to initialize as;

FirebaseOptions options = new FirebaseOptions.Builder().setApplicationId("APP_ID")
                    .setGcmSenderId("SENDER_ID").build();
FirebaseApp.initializeApp(context, options, "[DEFAULT]");
Dispart answered 16/12, 2019 at 13:34 Comment(1)
where do we need to put these lines of code?Teodoor
N
1

In my case I was deactivating the service in the build gradle (app) as follows:

android.applicationVariants.all { variant ->
    def googleTask = tasks.findByName("process${variant.name.capitalize()}GoogleServices")
    googleTask.enabled = "mock" != variant.flavorName
}

As this variant was only used for testing and mocking services it was deactivated. This didn't cause any issues for me for nearly 2 years. Once I noticed it within the gradle file it was a bit of a facepalm moment...

If you also do this, simply delete it.

Nina answered 8/11, 2021 at 9:47 Comment(0)
H
1

I had same problem. This code is solved it.

FirebaseOptions options = new FirebaseOptions.Builder()
                .setProjectId("YOUR_PROJECT_ID")
                .setApplicationId("YOUR_APPLICATION_ID")
                .setApiKey("YOUR_API_KEY")
                .build();
FirebaseApp.initializeApp(this, options);

You can read the variables from the Firebase console / Project settings page.

I tried everything, none of the other suggestions helped me.

Honea answered 10/10, 2023 at 17:13 Comment(0)
P
0

Although manually initialize Firebase with FirebaseApp.initializeApp(this); makes the error disappear, it doesn't fix the root cause, some odd issues come together doesn't seem to be solved, such as

  • FCM requires com.google.android.c2dm.permission.RECEIVE permission which is only for GCM
  • token becomes unregistered after first notification sent
  • message not received/ onMessageReceived() never get called,

Use newer Gradle plugin (e.g. Android plugin 2.2.3 and Gradle 2.14.1) fixed everything. (Of course setup has to be correct as per Firebase documentation )

Procto answered 16/8, 2017 at 4:34 Comment(1)
Whoa, that's some interesting info. With the problem happening to so few ppl it's hard to say if we've seen any of this. Maybe we should try removing it again and using the newer Gradle versions.Rachele
G
0

My problem was not resolved with this procedure

FirebaseApp.initializeApp(this); 

So I tried something else and now my firebase has been successfully initialized. Try adding following in 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"
..}
Goulette answered 29/8, 2018 at 20:28 Comment(0)
M
0

Installed Firebase Via Android Studio Tools...Firebase...

I did the installation via the built-in tools from Android Studio (following the latest docs from Firebase). This installed the basic dependencies but when I attempted to connect to the database it always gave me the error that I needed to call initialize first, even though I was:

Default FirebaseApp is not initialized in this process . Make sure to call FirebaseApp.initializeApp(Context) first.

I was getting this error no matter what I did.

Finally, after seeing a comment in one of the other answers I changed the following in my gradle from version 4.1.0 to :

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

When I did that I finally saw an error that helped me:

File google-services.json is missing. The Google Services Plugin cannot function without it. Searched Location: 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

That's the problem. It seems that the 4.1.0 version doesn't give that build error for some reason -- doesn't mention that you have a missing google-services.json file. I don't have the google-services.json file in my app so I went out and added it.

But since this was an upgrade which used an existing realtime firsbase database I had never had to generate that file in the past. I went to firebase and generated it and added it and it fixed the problem.

Changed Back to 4.1.0

Once I discovered all of this then I changed the classpath variable back (to 4.1.0) and rebuilt and it crashed again with the error that it hasn't been initalized.

Root Issues

  • Building with 4.1.0 doesn't provide you with a valid error upon precompile so you may not know what is going on.
  • Running against 4.1.0 causes the initialization error.
Mousey answered 21/2, 2019 at 15:0 Comment(0)
G
0

use com.google.gms:google-services:4.0.1' instead of 4.1.0

Gaucherie answered 19/4, 2019 at 20:22 Comment(0)
H
0

changing

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

to

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

Works for me

Haemato answered 6/6, 2019 at 13:2 Comment(1)
Using following latest versions helped me resolve the issue. No need to downgrade :) classpath 'com.android.tools.build:gradle:3.4.2' classpath 'com.google.gms:google-services:4.3.0'Cliffcliffes
K
0

If you're using Xamarin and came here searching for a solution for this problem, here it's from Microsoft:

In some cases, you may see this error message: Java.Lang.IllegalStateException: Default FirebaseApp is not initialized in this process Make sure to call FirebaseApp.initializeApp(Context) first.

This is a known problem that you can work around by cleaning the solution and rebuilding the project (Build > Clean Solution, Build > Rebuild Solution).

Kremlin answered 3/12, 2020 at 12:17 Comment(1)
Also....make sure your google-service.json file is in the correct physical location and has the correct build type of "GoogleServicesJson".Kweisui
R
0

I downgrade project gms:google_services to classpath 'com.google.gms:google-services:4.0.1' and it work for me.

Ruth answered 9/2, 2021 at 5:21 Comment(0)
S
0

I fix the problem with : apply plugin: 'com.google.gms.google-services' in build.gradle file and move the file google-service.json under app folder.

Sheriesherif answered 1/4, 2022 at 22:3 Comment(0)
H
0

In my case, I copied and pasted firebase dependencies from one of my project. So, my build.gradle(:app) have crashlytics dependency but I didn't add crashlytics classpath in build.gradle(root).

Verify that you added these dependencies in this way:

build.gradle(root):

// Top-level build file where you can add configuration options 
//  common to all sub-projects/modules.

buildscript {
    repositories {
        mavenCentral()
        google()
    }

    dependencies {
        classpath "com.android.tools.build:gradle:${project.GRADLE_VERSION}"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${project.KOTLIN_VERSION}"
        classpath "com.google.gms:google-services:4.3.14"
        classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.2'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        mavenCentral()
        google()
    }
}

build.gradle(:app):

plugins {
    id 'com.android.application'
    id 'org.jetbrains.kotlin.android'
    id 'com.google.gms.google-services'
    id 'com.google.firebase.crashlytics'

}

android {
  .......
  depencies {
      ........
    //firebase
    implementation platform("com.google.firebase:firebase-bom:31.1.1")
    implementation "com.google.firebase:firebase-crashlytics-ktx:18.3.2"
    implementation "com.google.firebase:firebase-analytics-ktx:21.2.0"
    implementation 'com.google.firebase:firebase-messaging-ktx:23.1.1'
    implementation 'com.google.firebase:firebase-config-ktx:21.2.0'
  }
}

Goto ApplicationClass or First Stable Class (MainActivity):

// initialize firebase:
FirebaseApp.initializeApp(context)
Hoyos answered 10/1, 2023 at 13:35 Comment(0)
S
0

In my case, I updated my firestore dependency to the updated version :

implementation 'com.google.firebase:firebase-firestore:24.4.4'

and rebuild the project. Now it's working well.

Shimmery answered 15/3, 2023 at 5:39 Comment(0)
S
0

changing

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

To

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

Inside project level build.gradle

Stria answered 20/4 at 19:2 Comment(0)
A
-1

We will have to initialize Firebase in onCreate function of Application Class.

 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;
}

}

Code in manifest file:-

  <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">
Alyssa answered 17/8, 2017 at 12:36 Comment(0)
P
-2

Click Tools > Firebase to open the Assistant window.

Click to expand one of the listed features (for example, Analytics), then click the provided tutorial link (for example, Log an Analytics event).

Click the Connect to Firebase button to connect to Firebase and add the necessary code to your app.

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

Pannell answered 24/9, 2018 at 15:19 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.