Reputation: 581
I am getting the above error when calling Firebase.initializeApp()
in my flutter code.
I have followed the documentation here: https://firebase.flutter.dev/docs
Here is my pubspec.yaml
dependencies:
flutter:
sdk: flutter
firebase_core: ^0.5.0
cloud_firestore: ^0.14.0
firebase_auth: ^0.18.0
fl_chart: ^0.11.0
snapping_sheet: ^2.0.0
flutter_svg: ^0.18.0
flutter_redux: ^0.6.0
strings: ^0.1.2
random_string: ^2.1.0
redux_thunk: ^0.3.0
# firebase_crashlytics: ^0.1.4+1
dotted_line: ^2.0.1
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.3
dev_dependencies:
flutter_test:
sdk: flutter
Here is my flutter code:
void main() {
WidgetsFlutterBinding.ensureInitialized();
SystemChrome.setEnabledSystemUIOverlays(SystemUiOverlay.values);
final store = Store<AppState>(AppState.reducer, initialState: AppState.initial(), middleware: [thunkMiddleware]);
runApp(
FutureBuilder(
future: Firebase.initializeApp(),
builder: (context, snapshot) {
// Check for errors
if (snapshot.hasError) {
log(snapshot.error.toString());
return Container(color: Colors.red);
}
// Once complete, show your application
if (snapshot.connectionState == ConnectionState.done) {
return StoreProvider<AppState>(
store: store,
child: MoollaApp(store: store),
);
}
// Otherwise, show something whilst waiting for initialization to complete
return Container(color: Colors.green);
},
),
);
}
Here are the relevant part of my .gradle (app) file:
plugins {
id "com.android.application"
id "com.google.gms.google-services"
id "kotlin-android"
id "kotlin-android-extensions"
}
Here is my project gradle file:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext.kotlin_version = "1.3.72"
repositories {
google()
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.2.0-alpha07'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.3'
}
}
allprojects {
repositories {
google()
jcenter()
mavenCentral()
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
task clean(type: Delete) {
delete rootProject.buildDir
}
and my Application class extension:
class MyApp : FlutterApplication() {
override fun onCreate() {
super.onCreate()
}
}
As far as I can tell I have done everything correctly according to the docs.
Upvotes: 30
Views: 32113
Reputation: 165
In my case, just follow the official documentations, first, run following command and install flutterfire_cli
dart pub global activate flutterfire_cli
you may need install "Firebase CLI" too. after installation, login to firebase, running
firebase login
and finaly run,
flutterfire configure
you can select the firebase project by menu and generate "firebase_options.dart" file. in your project add following
import 'firebase_options.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
runApp(MyApp());
}
full document https://firebase.flutter.dev/docs/overview/
Upvotes: -1
Reputation: 193
I faced this now, and will add the steps which fixed it for me. I did NOT have to do a minifyEnabled false
, or cut on any other performance. I can't say which steps were not needed, but hope this helps someone.
implementation platform('com.google.firebase:firebase-bom:30.3.2')
in app/build.gradle
file. This forced me to bump compileSdkVersion
to 33 as well in the same file.classpath 'com.android.tools.build:gradle:7.2.1
in android/build.gradle
file.distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-all.zip
in gradle-wrapper.propertiesflutter pub upgrade --major-versions
.flutter clean
on shell, and Invalidate and Restart
on IDE. Even then I had some package conflict in firebase-messaging and firebase-auth, so I removed the versions from them in pubspec.yaml
(just kept them as firebase_messaging:
and firebase_auth:
respt ). Voila, it started working!Upvotes: 0
Reputation: 1865
Many Firebase packages include native code. In general any package with native code requires a complete reset of the app on the device; meaning deleting initial values and executing native code for the first time:
Done!
Upvotes: 11
Reputation: 1
What fixed it for me was checking installing firebase_core. It was missing from my pubspec.yaml
Upvotes: 0
Reputation: 939
Follow these steps to remove this issue :-
flutter clean
flutter pub cache repair
flutter pub get
Upvotes: 0
Reputation: 425
To resolve this problem you have to implements this dependency for Android setup.
firebase_core
if you have this error for desktop application then you have to implement this dependency
firebase_core_desktop: ^1.0.0
Upvotes: 1
Reputation: 47
Firebase.initializeApp() will throw error if you do not configure app with all the available platform.
Use below line of code
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
Upvotes: 0
Reputation: 261
I had the same issue and above answers didn't helped that's why writing this.
Issue appeared when I changed my app's package name during development. So I pulled the recent previous code from git and updated package name in that folder which solved the issue for me. Still don't know what might have caused this issue!
Upvotes: 0
Reputation: 1571
FlutterFire includes instructions and tools for testing SignIn, Storage and Firestore:
https://firebase.flutter.dev/docs/testing/testing/
Upvotes: 0
Reputation: 53
I had this issue. For me I forgot to create my project in firebase console properly, and i was trying to initialize my app like this, Firebase.initializeApp();
Upvotes: 0
Reputation: 1
I had the same problem I then reinstalled the app and updated my app level build.gradle
defaultConfig{
// add the following line
multiDexEnabled true
}
Upvotes: 0
Reputation: 18
I did a bit of research on the issue and found an issue that was opened and closed with the agreed solution being to simply create a new flutter application and porting your dependencies and files one after the other. While this was not a viable solution for me, running
flutter clean
then
flutter pub get
seemed to fix the issue. As of yet I am unsure what package exactly causes the issue but on my deployment I had
google_sign_in: ^4.5.5
firebase_core: ^1.2.0
firebase_auth: ^1.2.0
only.
Upvotes: 0
Reputation: 720
Setting minifyEnabled & shrinkResources to false fixes it but why? I do not know. If somebody know please write a comment.
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled false
shrinkResources false
}
}
Upvotes: 10
Reputation: 1566
What I ended up realizing after running into this issue, is that the error is super vague and doesn't necessarily mean there's a problem with firebase_core
, rather there could be an issue with any of the Firebase plugins. So to narrow down where the issue was, I went through each firebase import individually and commented it out in the Pubspec.yaml file and ran it (along with commenting out all the code in my project that used that import), until I found which package was causing the issue.
For me, I was experiencing the issue only when running on iOS. It turned out that the firebase_messaging
was the culprit and it was code that I had added to the iOS AppDelegate to handle the messaging that was no longer needed with the latest version of the firebase_messaging
plugin.
Upvotes: 4
Reputation: 581
I started a fresh project and made sure to change:
classpath 'com.android.tools.build:gradle:4.2.0-alpha07'
to the version officially supported: 3.5.0
Not sure if that downgrade was necessary because as I say, I restarted an entirely fresh project and something else may have effected it.
I also filed a ticket with Google which may prove helpful for anyone else in the future: https://github.com/FirebaseExtended/flutterfire/issues/3212#issuecomment-675407420
Upvotes: 1
Reputation: 116
It's difficult to say exactly what's wrong without sifting through your entire project, but here are a few actions that will likely remedy the problem.
flutter doctor
and verify everything is working as expected.flutter clean
followed by flutter pub get
.If you're still receiving the same error, then you likely made a mistake while editing one of the config files.
<meta-data />
tags as doing so would result in said error.Upvotes: 6