Reputation: 65
I want to use Firebase Authentication in my Flutter app. For that, i have added firebase dependencies in my project like:
pubspec.yaml
dependencies:
flutter:
sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.2
services: ^0.0.1
firebase_core: ^0.5.3
firebase_auth: ^0.18.4
But when i try to import firebase_core
or firebase_auth
, build fails and gives me the error:
* What went wrong:
Execution failed for task ':app:compileFlutterBuildDebug'.
otp_screen.dart
import 'package:ble_app_flutter/screens/update_profile.dart';
// import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:firebase_core/firebase_core.dart';
// import 'firebase_options.dart';
// import 'package:flutter/services.dart';
class OTPScreen extends StatelessWidget {
const OTPScreen({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
// WidgetsFlutterBinding.ensureInitialized();
// Firebase.initializeApp();
FocusNode firstNode = new FocusNode();
FocusNode secondNode = new FocusNode();
FocusNode thirdNode = new FocusNode();
FocusNode fourthNode = new FocusNode();
FocusNode fifthNode = new FocusNode();
FocusNode sixthNode = new FocusNode();
return Scaffold(
appBar: AppBar(title: Text("OTP")),
body: Column(
children: [
Container(
child: Text("We have sent you an OTP",
textAlign: TextAlign.center),
margin: EdgeInsets.all(50)),
Container(
child: Text(
"Enter the 6 digit OTP sent on +919999999999 to proceed",
textAlign: TextAlign.center),
margin: EdgeInsets.only(bottom: 25)),
Row(mainAxisSize: MainAxisSize.min, children: [
Container(
padding: EdgeInsets.all(10),
decoration: BoxDecoration(
color: const Color(0xffE0E9FE),
borderRadius: BorderRadius.circular(10),
),
child: TextFormField(
focusNode: firstNode,
textInputAction: TextInputAction.next,
autofocus: true,
onChanged: (String value) {
FocusScope.of(context).unfocus();
FocusScope.of(context).requestFocus(secondNode);
},
inputFormatters: [
LengthLimitingTextInputFormatter(1),
],
decoration: InputDecoration(border: InputBorder.none)),
margin: EdgeInsets.only(left: 10),
width: 50,
),
Container(
padding: EdgeInsets.all(10),
decoration: BoxDecoration(
color: const Color(0xffE0E9FE),
borderRadius: BorderRadius.circular(10),
),
child: TextFormField(
onChanged: (String value) =>
{FocusScope.of(context).requestFocus(thirdNode)},
focusNode: secondNode,
textInputAction: TextInputAction.next,
autofocus: true,
inputFormatters: [
LengthLimitingTextInputFormatter(1),
],
decoration: InputDecoration(border: InputBorder.none)),
margin: EdgeInsets.only(left: 10),
width: 50,
),
Container(
padding: EdgeInsets.all(10),
decoration: BoxDecoration(
color: const Color(0xffE0E9FE),
borderRadius: BorderRadius.circular(10),
),
child: TextFormField(
focusNode: thirdNode,
onChanged: (String value) =>
{FocusScope.of(context).requestFocus(fourthNode)},
inputFormatters: [
LengthLimitingTextInputFormatter(1),
],
decoration: InputDecoration(border: InputBorder.none)),
margin: EdgeInsets.only(left: 10),
width: 50,
),
Container(
padding: EdgeInsets.all(10),
decoration: BoxDecoration(
color: const Color(0xffE0E9FE),
borderRadius: BorderRadius.circular(10),
),
child: TextFormField(
focusNode: fourthNode,
onChanged: (String value) =>
{FocusScope.of(context).requestFocus(fifthNode)},
inputFormatters: [
LengthLimitingTextInputFormatter(1),
],
decoration: InputDecoration(border: InputBorder.none)),
margin: EdgeInsets.only(left: 10),
width: 50,
),
Container(
padding: EdgeInsets.all(10),
decoration: BoxDecoration(
color: const Color(0xffE0E9FE),
borderRadius: BorderRadius.circular(10),
),
child: TextFormField(
focusNode: fifthNode,
onChanged: (String value) =>
{FocusScope.of(context).requestFocus(sixthNode)},
inputFormatters: [
LengthLimitingTextInputFormatter(1),
],
decoration: InputDecoration(border: InputBorder.none)),
margin: EdgeInsets.only(left: 10),
width: 50,
),
Container(
padding: EdgeInsets.all(10),
decoration: BoxDecoration(
color: const Color(0xffE0E9FE),
borderRadius: BorderRadius.circular(10),
),
child: TextFormField(
focusNode: sixthNode,
inputFormatters: [
LengthLimitingTextInputFormatter(1),
],
decoration: InputDecoration(border: InputBorder.none)),
margin: EdgeInsets.only(left: 10),
width: 50,
),
]),
Container(
width: double.infinity,
decoration: BoxDecoration(
color: const Color(0xFF28028A),
borderRadius: BorderRadius.circular(10),
),
padding: EdgeInsets.all(20),
child: InkWell(
onTap: () {
// Navigator.of(context).push(MaterialPageRoute(
// builder: (context) => UpdateProfile()));
},
child: Text("VERIFY",
textAlign: TextAlign.center,
style: TextStyle(color: Colors.white)),
),
margin: EdgeInsets.all(50)),
],
));
}
}
Upvotes: 0
Views: 125
Reputation: 65
2 things worked for me here.
Restarting the app by terminating the current process and then running flutter run
command.
flutter services
dependency and firebase auth
and core
libraries were conflicting with each other. So i removed the services
library and now the code is working fine.
Upvotes: 1