Flutter Android Release Build CRASH – FirebaseCore Initialize App Issue

Issue

Currently creating an app with Flutter.
I have created an issue on the official github but figured I’d ask here too if thats cool.

Steps To Reproduct:

  1. flutter run –release
  2. Install on Android device (reproduced on multiple)
  3. App will hang when attempting Firebase.initializeApp()

NOTE
I do not personally think this is a firebase issue but when we all had to update our app for AndroidX compatibility and firebase_message also called for us to create the Application.kt file to implement it’s newest pubs (which I need to use due to other dependencies).

ANY HELP WOULD BE GREATLY APPRECIATED. I really think this has something to do with the Kotlin files. I say that BECAUSE I MOVED THE AWAIT FIREBASE>INITAPP call in the main.dart file lower, and I got the same kind of output but instead referencing the SharedPrefs pub I was using.
Make sense?

What do YOUR Kotlin files look like?

Main.Dart File:


void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  await SharedPreferences.getInstance();
  Admob.initialize();
  await Admob.requestTrackingAuthorization();

  DynamicLinkService.handleDynamicLinks();
  SystemChrome.setPreferredOrientations(
      [DeviceOrientation.portraitDown, DeviceOrientation.portraitUp]).then(
    (_) {
      runApp(
        StringConstants(
          child: AuthProvider(auth: Auth(), child: MyApp()),
        ),
      );
    },
  );
}





pubspec.yaml

version: 1.0.0+29

environment:
  sdk: ">=2.1.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter
  
  firebase_core: "^0.5.3"
  # Newly reworked plugins covered by this migration guide:
  firebase_auth: "^0.18.4"
  cloud_firestore: "^0.14.4"
  cloud_functions: "^0.7.2"
  firebase_storage: "^5.2.0"
  firebase_messaging: ^7.0.3  # Updated to work with new core only plugins (no new changes):
  firebase_admob: "^0.10.3"
  firebase_analytics: "^6.3.0"
  firebase_dynamic_links: "^0.6.3"

Output:

E/flutter (27399): [ERROR:flutter/lib/ui/ui_dart_state.cc(184)] Unhandled Exception: MissingPluginException(No implementation found for method Firebase#initializeCore on channel plugins.flutter.io/firebase_core)
E/flutter (27399): #0      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:160)
E/flutter (27399): <asynchronous suspension>
E/flutter (27399): #1      MethodChannel.invokeListMethod (package:flutter/src/services/platform_channel.dart:348)
E/flutter (27399): <asynchronous suspension>
E/flutter (27399): #2      MethodChannelFirebase._initializeCore (package:firebase_core_platform_interface/src/method_channel/method_channel_firebase.dart:30)
E/flutter (27399): <asynchronous suspension>
E/flutter (27399): #3      MethodChannelFirebase.initializeApp (package:firebase_core_platform_interface/src/method_channel/method_channel_firebase.dart:75)
E/flutter (27399): <asynchronous suspension>
E/flutter (27399): #4      Firebase.initializeApp (package:firebase_core/src/firebase.dart:43)
E/flutter (27399): <asynchronous suspension>
E/flutter (27399): #5      main (package:instapray/main.dart:20)
E/flutter (27399): <asynchronous suspension>
E/flutter (27399): 

MainActivity.kt:


class MainActivity: FlutterActivity() {

}

Application.kt:

import io.flutter.plugin.common.PluginRegistry
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback
import io.flutter.plugins.GeneratedPluginRegistrant
import io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService

class Application:FlutterApplication(), PluginRegistrantCallback {

  
  override fun onCreate() {
    super.onCreate()
    FlutterFirebaseMessagingService.setPluginRegistrant(this)
  }

  
  override fun registerWith(registry:PluginRegistry) {
      io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin.registerWith(registry?.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"));
  }
}

Solution

This involved an update to the core Firebase pubs. Thanks.

Answered By – Noobnishness

Answer Checked By – Timothy Miller (FlutterFixes Admin)

Leave a Reply

Your email address will not be published. Required fields are marked *