I was creating a Flutter app, and I was using a firebase to authenticate. it shows me
══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
The following FirebaseException was thrown building Builder:
[core/no-app] No Firebase App '[DEFAULT]' has been created - call Firebase.initializeApp()
The relevant error-causing widget was:
MaterialApp file:///C:/Users/soham/AndroidStudioProjects/flash-chat/lib/main.dart:12:12
When the exception was thrown, this was the stack:
#0 MethodChannelFirebase.app (package:firebase_core_platform_interface/src/method_channel/method_channel_firebase.dart:118:5)
#1 Firebase.app (package:firebase_core/src/firebase.dart:52:41)
#2 FirebaseAuth.instance (package:firebase_auth/src/firebase_auth.dart:37:47)
#3 new _RegistrationScreenState (package:flash_chat/screens/registration_screen.dart:19:30)
#4 RegistrationScreen.createState (package:flash_chat/screens/registration_screen.dart:11:45)
#5 new StatefulElement (package:flutter/src/widgets/framework.dart:4635:25)
#6 StatefulWidget.createElement (package:flutter/src/widgets/framework.dart:900:38)
... Normal element mounting (132 frames)
#138 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3490:14)
#139 Element.updateChild (package:flutter/src/widgets/framework.dart:3258:18)
#140 RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:5624:32)
#141 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6001:17)
#142 Element.updateChild (package:flutter/src/widgets/framework.dart:3245:15)
#143 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4571:16)
#144 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4719:11)
#145 Element.rebuild (package:flutter/src/widgets/framework.dart:4262:5)
#146 StatefulElement.update (package:flutter/src/widgets/framework.dart:4751:5)
#147 Element.updateChild (package:flutter/src/widgets/framework.dart:3245:15)
#148 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4571:16)
#149 Element.rebuild (package:flutter/src/widgets/framework.dart:4262:5)
#150 ProxyElement.update (package:flutter/src/widgets/framework.dart:4906:5)
#151 _InheritedNotifierElement.update (package:flutter/src/widgets/inherited_notifier.dart:183:11)
#152 Element.updateChild (package:flutter/src/widgets/framework.dart:3245:15)
#153 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:5881:14)
#154 Element.updateChild (package:flutter/src/widgets/framework.dart:3245:15)
#155 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4571:16)
#156 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4719:11)
#157 Element.rebuild (package:flutter/src/widgets/framework.dart:4262:5)
#158 StatefulElement.update (package:flutter/src/widgets/framework.dart:4751:5)
#159 Element.updateChild (package:flutter/src/widgets/framework.dart:3245:15)
#160 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:5881:14)
#161 Element.updateChild (package:flutter/src/widgets/framework.dart:3245:15)
#162 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:5881:14)
#163 Element.updateChild (package:flutter/src/widgets/framework.dart:3245:15)
#164 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4571:16)
#165 Element.rebuild (package:flutter/src/widgets/framework.dart:4262:5)
#166 StatelessElement.update (package:flutter/src/widgets/framework.dart:4627:5)
#167 Element.updateChild (package:flutter/src/widgets/framework.dart:3245:15)
#168 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4571:16)
#169 Element.rebuild (package:flutter/src/widgets/framework.dart:4262:5)
#170 ProxyElement.update (package:flutter/src/widgets/framework.dart:4906:5)
#171 Element.updateChild (package:flutter/src/widgets/framework.dart:3245:15)
#172 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4571:16)
#173 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4719:11)
#174 Element.rebuild (package:flutter/src/widgets/framework.dart:4262:5)
#175 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2667:33)
#176 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:866:20)
#177 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:286:5)
#178 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1117:15)
#179 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1056:9)
#180 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:972:5)
#184 _invoke (dart:ui/hooks.dart:253:10)
#185 _drawFrame (dart:ui/hooks.dart:211:3)
(elided 3 frames from dart:async)
This exception as soon as i redirect to the Registration page, Hers's my Registration page* code,
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flash_chat/constants.dart';
import 'package:flutter/material.dart';
import '../components/ButtonComponents.dart';
import 'chat_screen.dart';
class RegistrationScreen extends StatefulWidget {
static const String route = '/registration';
@override
_RegistrationScreenState createState() => _RegistrationScreenState();
}
class _RegistrationScreenState extends State<RegistrationScreen> {
/*
* Authentication Instance
* */
final _auth = FirebaseAuth.instance;
String email;
String password;
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
body: Padding(
padding: EdgeInsets.symmetric(horizontal: 24.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
Hero(
tag: 'logo',
child: Container(
height: 200.0,
child: Image.asset('images/logo.png'),
),
),
SizedBox(
height: 48.0,
),
TextField(
keyboardType: TextInputType.emailAddress,
textAlign: TextAlign.center,
onChanged: (value) {
email = value;
},
decoration: KTextFieldDecoration.copyWith(
hintText: 'Enter your email',
hintStyle: TextStyle(
color: Colors.black54,
),
),
),
SizedBox(
height: 8.0,
),
TextField(
obscureText: true,
textAlign: TextAlign.center,
onChanged: (value) {
password = value;
},
decoration: KTextFieldDecoration.copyWith(
hintText: 'Enter your password',
hintStyle: TextStyle(
color: Colors.black54,
),
),
),
SizedBox(
height: 24.0,
),
ButtonComponents(
color: Colors.blueAccent,
text: 'Register',
onPressedEvent: () async {
try {
final newUser = await _auth.createUserWithEmailAndPassword(
email: email, password: password);
if (newUser != null) {
Navigator.pushNamed(context, ChatScreen.route);
}
} catch (e) {
print(e);
}
},
),
],
),
),
);
}
}
android/app/build.gradle file look like below,
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
//throw new FileNotFoundException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
compileSdkVersion 29
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
applicationId "co.sohamroycandy.flash_chat"
minSdkVersion 16
targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
multiDexEnabled true
}
buildTypes {
release {
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.debug
}
}
}
flutter {
source '../..'
}
dependencies {
implementation 'androidx.multidex:multidex:2.0.0'
implementation 'com.google.firebase:firebase-firestore:21.3.1'
}
and here comes my android/build.gradle file,
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.3'
classpath 'com.google.gms:google-services:4.3.3'
}
}
allprojects {
repositories {
google()
jcenter()
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Can anyone help me to resolve the issue? Thanks in advance.