firebase / flutterfire

πŸ”₯ A collection of Firebase plugins for Flutter apps.
https://firebase.google.com/docs/flutter/setup
BSD 3-Clause "New" or "Revised" License
8.61k stars 3.95k forks source link

πŸ› [cloud_firestore] crash on release mode #7346

Closed iamEtornam closed 2 years ago

iamEtornam commented 2 years ago

Bug report

Describe the bug I have an app that uses Firestore as Database. Everything works perfectly in debug mode but once a run the app in release mode or build a release app for testing, it doesn't work. After running flutter run -t lib/main_dev.dart --flavor=dev --release -v this log appears then the app crashes.

[ +362 ms] E/AndroidRuntime(26415): FATAL EXCEPTION: main
[        ] E/AndroidRuntime(26415): Process: com.gootechnologies.wegoo.dev, PID: 26415
[        ] E/AndroidRuntime(26415): java.lang.RuntimeException: Internal error in Cloud Firestore (24.0.0).
[        ] E/AndroidRuntime(26415):     at com.google.firebase.firestore.d0.h.run(lambda:5)
[        ] E/AndroidRuntime(26415):     at android.os.Handler.handleCallback(Handler.java:938)
[        ] E/AndroidRuntime(26415):     at android.os.Handler.dispatchMessage(Handler.java:99)
[        ] E/AndroidRuntime(26415):     at android.os.Looper.loop(Looper.java:246)
[        ] E/AndroidRuntime(26415):     at android.app.ActivityThread.main(ActivityThread.java:8595)
[        ] E/AndroidRuntime(26415):     at java.lang.reflect.Method.invoke(Native Method)
[        ] E/AndroidRuntime(26415):     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
[        ] E/AndroidRuntime(26415):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
[        ] E/AndroidRuntime(26415): Caused by: c.e.a.b.k.j: java.lang.RuntimeException: java.lang.ExceptionInInitializerError
[        ] E/AndroidRuntime(26415):     at c.e.a.b.k.O.p(com.google.android.gms:play-services-tasks@@17.2.1:8)
[        ] E/AndroidRuntime(26415):     at com.google.firebase.firestore.c0.K.c(FirestoreChannel.java:1)
[        ] E/AndroidRuntime(26415):     at com.google.firebase.firestore.c0.n.a(Unknown Source:6)
[        ] E/AndroidRuntime(26415):     at c.e.a.b.k.A.run(com.google.android.gms:play-services-tasks@@17.2.1:1)
[        ] E/AndroidRuntime(26415):     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
[        ] E/AndroidRuntime(26415):     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[        ] E/AndroidRuntime(26415):     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
[        ] E/AndroidRuntime(26415):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
[        ] E/AndroidRuntime(26415):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
[        ] E/AndroidRuntime(26415):     at com.google.firebase.firestore.d0.o$c$b.run(AsyncQueue.java:3)
[        ] E/AndroidRuntime(26415):     at java.lang.Thread.run(Thread.java:923)
[        ] E/AndroidRuntime(26415): Caused by: java.lang.RuntimeException: java.lang.ExceptionInInitializerError
[        ] E/AndroidRuntime(26415):     at c.e.a.b.k.P.run(com.google.android.gms:play-services-tasks@@17.2.1:3)
[        ] E/AndroidRuntime(26415):     at com.google.firebase.firestore.d0.y.a(ThrottledForwardingExecutor.java:1)
[        ] E/AndroidRuntime(26415):     at com.google.firebase.firestore.d0.l.run(Unknown Source:4)
[        ] E/AndroidRuntime(26415):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
[        ] E/AndroidRuntime(26415):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
[        ] E/AndroidRuntime(26415):     ... 1 more
[        ] E/AndroidRuntime(26415): Caused by: java.lang.ExceptionInInitializerError
[        ] E/AndroidRuntime(26415):     at g.c.n0.d.forTarget(OkHttpChannelBuilder.java:1)
[        ] E/AndroidRuntime(26415):     at g.c.n0.e.a(OkHttpChannelProvider.java:1)
[        ] E/AndroidRuntime(26415):     at g.c.N.b(ManagedChannelBuilder.java:2)
[        ] E/AndroidRuntime(26415):     at com.google.firebase.firestore.c0.N.e(GrpcCallProvider.java:4)
[        ] E/AndroidRuntime(26415):     at com.google.firebase.firestore.c0.r.call(Unknown Source:2)
[        ] E/AndroidRuntime(26415):     at c.e.a.b.k.P.run(com.google.android.gms:play-services-tasks@@17.2.1:1)
[        ] E/AndroidRuntime(26415):     ... 5 more
[        ] E/AndroidRuntime(26415): Caused by: java.lang.RuntimeException: java.lang.NoSuchMethodException: g.c.k0.values []
[        ] E/AndroidRuntime(26415):     at java.lang.Enum.enumValues(Enum.java:270)
[        ] E/AndroidRuntime(26415):     at java.lang.Enum.access$000(Enum.java:61)
[        ] E/AndroidRuntime(26415):     at java.lang.Enum$1.create(Enum.java:277)
[        ] E/AndroidRuntime(26415):     at java.lang.Enum$1.create(Enum.java:275)
[        ] E/AndroidRuntime(26415):     at libcore.util.BasicLruCache.get(BasicLruCache.java:63)
[        ] E/AndroidRuntime(26415):     at java.lang.Enum.getSharedConstants(Enum.java:289)
[        ] E/AndroidRuntime(26415):     at java.lang.Class.getEnumConstantsShared(Class.java:2428)
[        ] E/AndroidRuntime(26415):     at java.util.EnumSet.getUniverse(EnumSet.java:407)
[        ] E/AndroidRuntime(26415):     at java.util.EnumSet.noneOf(EnumSet.java:109)
[        ] E/AndroidRuntime(26415):     at java.util.EnumSet.of(EnumSet.java:235)
[        ] E/AndroidRuntime(26415):     at g.c.n0.d.<clinit>(OkHttpChannelBuilder.java:10)
[        ] E/AndroidRuntime(26415):     ... 11 more
[        ] E/AndroidRuntime(26415): Caused by: java.lang.NoSuchMethodException: g.c.k0.values []
[        ] E/AndroidRuntime(26415):     at java.lang.Class.getMethod(Class.java:2072)
[        ] E/AndroidRuntime(26415):     at java.lang.Class.getDeclaredMethod(Class.java:2050)
[        ] E/AndroidRuntime(26415):     at java.lang.Enum.enumValues(Enum.java:267)
[        ] E/AndroidRuntime(26415):     ... 21 more

Additional context

The same app works perfectly in debug for Android and iOS. And also works in release mode for iOS but not Android


Flutter doctor

Run flutter doctor and paste the output below:

Click To Expand ``` ➜ ~ flutter doctor -v [βœ“] Flutter (Channel stable, 2.5.3, on macOS 12.0.1 21A559 darwin-x64, locale en-GH) β€’ Flutter version 2.5.3 at /Users/etornam/Development/flutter β€’ Upstream repository https://github.com/flutter/flutter.git β€’ Framework revision 18116933e7 (4 weeks ago), 2021-10-15 10:46:35 -0700 β€’ Engine revision d3ea636dc5 β€’ Dart version 2.14.4 [βœ“] Android toolchain - develop for Android devices (Android SDK version 31.0.0) β€’ Android SDK at /Users/etornam/Library/Android/sdk β€’ Platform android-31, build-tools 31.0.0 β€’ Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java β€’ Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165) β€’ All Android licenses accepted. [βœ“] Xcode - develop for iOS and macOS β€’ Xcode at /Applications/Xcode.app/Contents/Developer β€’ Xcode 13.1, Build version 13A1030d β€’ CocoaPods version 1.11.2 [βœ“] Chrome - develop for the web β€’ Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome [βœ“] Android Studio (version 2020.3) β€’ Android Studio at /Applications/Android Studio.app/Contents β€’ Flutter plugin can be installed from: πŸ”¨ https://plugins.jetbrains.com/plugin/9212-flutter β€’ Dart plugin can be installed from: πŸ”¨ https://plugins.jetbrains.com/plugin/6351-dart β€’ Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165) [βœ“] IntelliJ IDEA Ultimate Edition (version 2020.1) β€’ IntelliJ at /Applications/IntelliJ IDEA.app β€’ Flutter plugin version 46.0.3 β€’ Dart plugin version 201.7223.43 [βœ“] IntelliJ IDEA Community Edition (version 2021.1.3) β€’ IntelliJ at /Applications/IntelliJ IDEA CE.app β€’ Flutter plugin version 60.1.3 β€’ Dart plugin version 211.7792 [βœ“] VS Code (version 1.62.1) β€’ VS Code at /Applications/Visual Studio Code.app/Contents β€’ Flutter extension version 3.28.0 [βœ“] VS Code (version 1.63.0-insider) β€’ VS Code at /Applications/Visual Studio Code - Insiders.app/Contents β€’ Flutter extension version 3.28.0 [βœ“] Connected device (3 available) β€’ SM A515F (mobile) β€’ R58N65QGWQT β€’ android-arm64 β€’ Android 11 (API 30) β€’ macOS (desktop) β€’ macos β€’ darwin-x64 β€’ macOS 12.0.1 21A559 darwin-x64 β€’ Chrome (web) β€’ chrome β€’ web-javascript β€’ Google Chrome 87.0.4280.88 ```

Flutter dependencies

Run flutter pub deps -- --style=compact and paste the output below:

Click To Expand ``` Dart SDK 2.14.4 Flutter SDK 2.5.3 wegoo_app 1.0.32+33 dependencies: - adaptive_dialog 1.2.0 [animations collection flutter meta] - app_tracking_transparency 2.0.2+1 [flutter] - avatar_glow 2.0.2 [flutter] - bot_toast 4.0.1 [flutter] - cloud_firestore 3.1.0 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta] - cupertino_icons 1.0.4 - firebase_analytics 8.3.4 [firebase_analytics_platform_interface firebase_analytics_web firebase_core flutter meta] - firebase_auth 3.2.0 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta] - firebase_core 1.10.0 [firebase_core_platform_interface firebase_core_web flutter meta] - firebase_dynamic_links 3.0.1 [firebase_core flutter] - firebase_messaging 11.1.0 [firebase_core firebase_core_platform_interface firebase_messaging_platform_interface firebase_messaging_web flutter meta] - firebase_remote_config 0.11.0+2 [firebase_core firebase_core_platform_interface firebase_remote_config_platform_interface flutter] - firebase_storage 10.1.0 [firebase_core firebase_core_platform_interface firebase_storage_platform_interface firebase_storage_web flutter] - flare_flutter 3.0.2 [collection flutter meta] - flutter 0.0.0 [characters collection meta typed_data vector_math sky_engine] - flutter_app_badger 1.3.0 [flutter] - flutter_custom_dialog 1.2.0 [flutter] - flutter_flavor 3.0.3 [flutter xml yaml] - flutter_font_icons 2.2.4 [flutter] - flutter_google_places 0.3.0 [flutter google_api_headers google_maps_webservice http rxdart] - flutter_local_notifications 9.1.0 [clock flutter flutter_local_notifications_linux flutter_local_notifications_platform_interface timezone] - flutter_rating_bar 4.0.0 [flutter] - flutter_styled_toast 2.0.0 [flutter flutter_localizations] - flutter_svg 0.23.0+1 [flutter meta path_drawing vector_math xml] - fluttercontactpicker 4.5.1 [flutter contact_picker_platform_interface contact_picker_web] - geocoding 2.0.1 [flutter geocoding_platform_interface] - get_it 7.2.0 [async collection] - google_fonts 2.1.0 [flutter http path_provider crypto] - google_map_location_picker 4.1.7 [flutter flutter_localizations intl google_maps_flutter geolocator android_intent provider http stack_trace package_info] - google_maps_flutter 2.1.0 [flutter flutter_plugin_android_lifecycle google_maps_flutter_platform_interface] - google_maps_webservice 0.0.20-nullsafety.5 [http meta json_annotation] - groovin_widgets 3.0.2 [flutter] - hive_flutter 1.1.0 [flutter hive path_provider path] - http 0.13.4 [async http_parser meta path] - image_cropper 1.4.1 [flutter] - image_picker 0.8.4+4 [flutter flutter_plugin_android_lifecycle image_picker_for_web image_picker_platform_interface] - intl 0.17.0 [clock path] - intl_phone_number_input 0.7.0+2 [flutter meta libphonenumber_plugin equatable collection] - location 4.3.0 [flutter location_platform_interface location_web] - location_permissions 4.0.1 [flutter meta] - logger 1.1.0 - modal_bottom_sheet 2.0.0 [flutter] - native_updater 0.1.0 [flutter package_info url_launcher in_app_update] - package_info 2.0.2 [flutter] - path_provider 2.0.6 [flutter path_provider_linux path_provider_macos path_provider_platform_interface path_provider_windows] - pin_code_fields 7.3.0 [flutter] - provider 6.0.1 [collection flutter nested] - sentry_flutter 6.1.0 [flutter flutter_web_plugins sentry package_info_plus] - share 2.0.4 [meta mime flutter] - sms_autofill 2.2.0 [pin_input_text_field flutter] - strings 0.2.2 [characters unicode] - url_launcher 6.0.12 [flutter meta url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows] - uuid 3.0.5 [crypto] - web_socket_channel 2.1.0 [async crypto stream_channel] dev dependencies: - build_runner 2.1.5 [args async analyzer build build_config build_daemon build_resolvers build_runner_core code_builder collection crypto dart_style frontend_server_client glob graphs http_multi_server io js logging meta mime package_config path pool pub_semver pubspec_parse shelf shelf_web_socket stack_trace stream_transform timing watcher web_socket_channel yaml] - flutter_launcher_icons 0.9.2 [args image path yaml] - flutter_lints 1.0.4 [lints] - flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters charcode collection matcher meta source_span stream_channel string_scanner term_glyph typed_data] - hive_generator 1.1.1 [build source_gen hive analyzer source_helper] dependency overrides: - provider 6.0.1 [collection flutter nested] transitive dependencies: - _fe_analyzer_shared 30.0.0 [meta] - analyzer 2.7.0 [_fe_analyzer_shared cli_util collection convert crypto glob meta package_config path pub_semver source_span watcher yaml] - android_intent 2.0.2 [flutter platform meta] - animations 2.0.2 [flutter] - archive 3.1.6 [crypto path] - args 2.3.0 - async 2.8.1 [collection meta] - boolean_selector 2.1.0 [source_span string_scanner] - build 2.1.1 [analyzer async convert crypto glob logging meta path] - build_config 1.0.0 [checked_yaml json_annotation path pubspec_parse yaml] - build_daemon 3.0.1 [built_collection built_value http_multi_server logging path pool shelf shelf_web_socket stream_transform watcher web_socket_channel] - build_resolvers 2.0.4 [analyzer async build crypto graphs logging path package_config pool pub_semver stream_transform yaml] - build_runner_core 7.2.2 [async build build_config build_resolvers collection convert crypto glob graphs json_annotation logging meta path package_config pool timing watcher yaml] - built_collection 5.1.1 - built_value 8.1.3 [built_collection collection fixnum meta] - characters 1.1.0 - charcode 1.3.1 - checked_yaml 2.0.1 [json_annotation source_span yaml] - cli_util 0.3.5 [meta path] - clock 1.1.0 - cloud_firestore_platform_interface 5.4.5 [collection firebase_core flutter meta plugin_platform_interface] - cloud_firestore_web 2.5.0 [cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js] - code_builder 4.1.0 [built_collection built_value collection matcher meta] - collection 1.15.0 - contact_picker_platform_interface 4.5.1 [flutter meta plugin_platform_interface] - contact_picker_web 4.5.1 [flutter flutter_web_plugins js contact_picker_platform_interface] - convert 3.0.1 [typed_data] - cross_file 0.3.2 [flutter js meta] - crypto 3.0.1 [collection typed_data] - dart_style 2.2.0 [analyzer args path pub_semver source_span] - dbus 0.5.6 [args ffi meta pedantic xml] - equatable 2.0.3 [collection meta] - fake_async 1.2.0 [clock collection] - ffi 1.1.2 - file 6.1.2 [meta path] - firebase 9.0.2 [http http_parser js] - firebase_analytics_platform_interface 2.0.1 [flutter meta] - firebase_analytics_web 0.3.0+1 [firebase firebase_analytics_platform_interface flutter flutter_web_plugins meta] - firebase_auth_platform_interface 6.1.4 [firebase_core flutter meta plugin_platform_interface] - firebase_auth_web 3.2.0 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta] - firebase_core_platform_interface 4.1.0 [collection flutter meta plugin_platform_interface] - firebase_core_web 1.2.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta] - firebase_messaging_platform_interface 3.0.9 [firebase_core flutter meta plugin_platform_interface] - firebase_messaging_web 2.1.0 [firebase_core firebase_core_web firebase_messaging_platform_interface flutter flutter_web_plugins js meta] - firebase_remote_config_platform_interface 0.3.0+7 [firebase_core flutter meta plugin_platform_interface] - firebase_storage_platform_interface 4.0.6 [collection firebase_core flutter meta plugin_platform_interface] - firebase_storage_web 3.1.0 [async firebase_core firebase_core_web firebase_storage_platform_interface flutter flutter_web_plugins http js meta] - fixnum 1.0.0 - flutter_local_notifications_linux 0.3.0 [flutter flutter_local_notifications_platform_interface dbus path xdg_directories] - flutter_local_notifications_platform_interface 5.0.0 [flutter plugin_platform_interface] - flutter_localizations 0.0.0 [flutter intl characters clock collection meta path typed_data vector_math] - flutter_plugin_android_lifecycle 2.0.4 [flutter] - flutter_web_plugins 0.0.0 [flutter js characters collection meta typed_data vector_math] - frontend_server_client 2.1.2 [async path] - geocoding_platform_interface 2.0.1 [flutter meta plugin_platform_interface] - geolocator 7.7.1 [flutter geolocator_platform_interface geolocator_android geolocator_apple geolocator_web] - geolocator_android 2.1.0 [flutter geolocator_platform_interface] - geolocator_apple 1.2.2 [flutter geolocator_platform_interface] - geolocator_platform_interface 2.3.6 [flutter plugin_platform_interface vector_math meta] - geolocator_web 2.0.6 [flutter flutter_web_plugins geolocator_platform_interface] - glob 2.0.2 [async collection file path string_scanner] - google_api_headers 1.1.1 [flutter package_info_plus] - google_maps_flutter_platform_interface 2.1.3 [collection flutter meta plugin_platform_interface stream_transform] - graphs 2.1.0 [collection] - hive 2.0.4 [meta crypto] - http_multi_server 3.0.1 [async] - http_parser 4.0.0 [charcode collection source_span string_scanner typed_data] - image 3.0.8 [archive meta xml] - image_picker_for_web 2.1.4 [flutter flutter_web_plugins image_picker_platform_interface meta] - image_picker_platform_interface 2.4.1 [flutter http meta plugin_platform_interface cross_file] - in_app_update 2.0.0 [flutter] - io 1.0.3 [meta path string_scanner] - js 0.6.3 - json_annotation 4.3.0 [meta] - libphonenumber 2.0.2 [flutter meta] - libphonenumber_platform_interface 0.3.1 [flutter plugin_platform_interface] - libphonenumber_plugin 0.2.3 [flutter flutter_web_plugins libphonenumber_platform_interface libphonenumber_web libphonenumber] - libphonenumber_web 0.2.0+1 [flutter flutter_web_plugins js libphonenumber_platform_interface] - lints 1.0.1 - lists 1.0.1 [meta] - location_platform_interface 2.3.0 [flutter meta plugin_platform_interface] - location_web 3.1.1 [flutter flutter_web_plugins http_parser js location_platform_interface meta] - logging 1.0.2 - matcher 0.12.10 [stack_trace] - meta 1.7.0 - mime 1.0.1 - nested 1.0.0 [flutter] - package_config 2.0.2 [path] - package_info_plus 1.3.0 [flutter package_info_plus_platform_interface package_info_plus_linux package_info_plus_macos package_info_plus_windows package_info_plus_web] - package_info_plus_linux 1.0.3 [package_info_plus_platform_interface flutter path] - package_info_plus_macos 1.3.0 [flutter] - package_info_plus_platform_interface 1.0.2 [flutter meta plugin_platform_interface] - package_info_plus_web 1.0.4 [flutter flutter_web_plugins http meta package_info_plus_platform_interface] - package_info_plus_windows 1.0.4 [package_info_plus_platform_interface ffi flutter win32] - path 1.8.0 - path_drawing 0.5.1+1 [vector_math meta path_parsing flutter] - path_parsing 0.2.1 [vector_math meta] - path_provider_linux 2.1.0 [flutter path path_provider_platform_interface xdg_directories] - path_provider_macos 2.0.2 [flutter] - path_provider_platform_interface 2.0.1 [flutter meta platform plugin_platform_interface] - path_provider_windows 2.0.3 [ffi flutter meta path path_provider_platform_interface win32] - pedantic 1.11.1 - petitparser 4.4.0 [meta] - pin_input_text_field 4.1.1 [flutter] - platform 3.0.2 - plugin_platform_interface 2.0.2 [meta] - pool 1.5.0 [async stack_trace] - process 4.2.4 [file path platform] - pub_semver 2.1.0 [collection meta] - pubspec_parse 1.1.0 [checked_yaml collection json_annotation pub_semver yaml] - rxdart 0.26.0 - sentry 6.1.0 [http meta stack_trace uuid] - shelf 1.2.0 [async collection http_parser path stack_trace stream_channel] - shelf_web_socket 1.0.1 [shelf stream_channel web_socket_channel] - sky_engine 0.0.99 - source_gen 1.1.1 [analyzer async build dart_style glob meta path source_span yaml] - source_helper 1.3.0 [analyzer collection source_gen] - source_span 1.8.1 [collection path term_glyph] - stack_trace 1.10.0 [path] - stream_channel 2.1.0 [async] - stream_transform 2.0.0 - string_scanner 1.1.0 [charcode source_span] - term_glyph 1.2.0 - test_api 0.4.2 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher] - timezone 0.8.0 [path] - timing 1.0.0 [json_annotation] - typed_data 1.3.0 [collection] - unicode 0.3.1 [lists] - url_launcher_linux 2.0.2 [flutter] - url_launcher_macos 2.0.2 [flutter] - url_launcher_platform_interface 2.0.4 [flutter plugin_platform_interface] - url_launcher_web 2.0.4 [flutter flutter_web_plugins meta url_launcher_platform_interface] - url_launcher_windows 2.0.2 [flutter] - vector_math 2.1.0 - watcher 1.0.1 [async path] - win32 2.2.10 [ffi] - xdg_directories 0.2.0 [meta path process] - xml 5.3.1 [collection meta petitparser] - yaml 3.1.0 [collection source_span string_scanner] ```

darshankawar commented 2 years ago

@RegNex Thanks for the report. I see that you are using flavors in your app. Just trying to confirm whether same crash occurs if you run without flavors ? Also, can you provide us a complete minimal reproducible code sample that we can use to verify this ?

iamEtornam commented 2 years ago

@darshankawar the app can't run without the flavors. I have configurations for development and production

sample code:

packages

  cloud_firestore: ^3.1.0
  firebase_core: ^1.10.0
class HighDemandView extends StatelessWidget {
  HighDemandView({Key? key}) : super(key: key);

  final FirebaseFirestore firebaseFirestore = FirebaseFirestore.instance;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('High Demand'),
      ),
      body: StreamBuilder<DocumentSnapshot<Map<String, dynamic>>>(
          stream: firebaseFirestore
              .collection('OPERATION_SETTINGS')
              .doc('threshold')
              .snapshots(),
          builder: (context, snapshot) {
            if (snapshot.connectionState == ConnectionState.waiting &&
                snapshot.data == null) {
              return const CircularProgressIndicator.adaptive();
            }

            if (snapshot.connectionState == ConnectionState.done &&
                snapshot.data == null) {
              return const Text('No data');
            }
            return Text('${snapshot.data!.data()!['activate']}');
          }),
    );
  }
}

I don't know if this helps

darshankawar commented 2 years ago

final FirebaseFirestore firebaseFirestore = FirebaseFirestore.instance;

Seems it could be related to the way you are initializing the firestore instance and getting Caused by: java.lang.ExceptionInInitializerError

Can you confirm if you are properly initializing flutterfire as mentioned in the document ? https://firebase.flutter.dev/docs/overview#initializing-flutterfire

iamEtornam commented 2 years ago

This is how initialized flutterfire in my project

import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter/material.dart';
import 'package:flutter_flavor/flutter_flavor.dart';
import 'package:hive/hive.dart';
import 'package:path_provider/path_provider.dart';
import 'package:wegoo_app/utils/network_utils/background_message_handler.dart';

import 'main.dart';
import 'resources/app_config.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  FirebaseMessaging.onBackgroundMessage(myBackgroundMessageHandler);
  setupSingletons();
  final appDocumentDir = await getApplicationDocumentsDirectory();
  Hive.init(appDocumentDir.path);
  await Hive.openBox('wegooUser');
  var configuredApp = AppConfig(
    appTitle: 'WeGoo Dev',
    buildFlavor: 'Development',
    child: MyApp(),
  );
  FlavorConfig(
      name: "Development",
      color: Colors.yellow,
      location: BannerLocation.topEnd,
      variables: {
        'baseUrl': '<DEV BASE URL>',
        'webSocketBaseUrl': '<WEBSOCKET URL>',
        'googleAPI': '<GOOGLE MAPS API KEY HERE>',
      });
  return runApp(configuredApp);
}
iamEtornam commented 2 years ago

@darshankawar I was able to resolve the issue by setting minifyEnabled and shrinkResources to false.

   defaultConfig {
        applicationId "dev.etornam.example"
        minSdkVersion 21
        targetSdkVersion 31
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    }

    buildTypes {
        release {
            minifyEnabled false
            shrinkResources false
            proguardFiles getDefaultProguardFile(
                    'proguard-android-optimize.txt'),
                    'proguard-rules.pro'
            signingConfig signingConfigs.release
           ndk {
               abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86_64'
           }
        }
        debug {
            minifyEnabled false
            shrinkResources false
            signingConfig signingConfigs.debug
        }
    }
darshankawar commented 2 years ago

Thanks for the update and resolving the issue. Closing this based on above comment.