Sagar Balyan
Sagar Balyan

Reputation: 65

Importing Firebase Module in Flutter Project gives Error : Execution failed for task ':app:compileFlutterBuildDebug'

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

Answers (1)

Sagar Balyan
Sagar Balyan

Reputation: 65

2 things worked for me here.

  1. Restarting the app by terminating the current process and then running flutter run command.

  2. 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

Related Questions