missingpluginexception (реализация для метода firebase # initializecore в плагинах канала не найдена. flutter.io/firebase_core)

Описание ошибки Я запускаю приложение Flutter на рабочем столе Windows. Я использую главный канал в студии Android, чтобы запустить его на рабочем столе. Я интегрировал firebase в свое приложение, и регистрация входа в систему работает нормально, но когда я пытаюсь добавить или получить данные из моего облачного хранилища, появляется ошибка: «Нет приложения Firebase» [DEFAULT] »не создано - вызовите Firebase. initializeApp () во Flutter и Firebase, что было решено добавлением

void main()
async
{
   WidgetsFlutterBinding.ensureInitialized();
   await Firebase.initializeApp();
   // if (USE_FIRESTORE_EMULATOR) {
   //   FirebaseFirestore.instance.settings = Settings(
   //       host: 'localhost:8080', sslEnabled: false, persistenceEnabled: false);
   // }
  runApp(MyApp());
}

в мое приложение. но после добавления этого я получил эту ошибку:

Launching lib\main.dart on Windows in debug mode...
Building Windows application...
Debug service listening on ws://127.0.0.1:14281/b7FohxM2yN4=/ws
Syncing files to device Windows...
[ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: MissingPluginException(No implementation found for method Firebase#initializeCore on channel plugins.flutter.io/firebase_core)
#0      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:156:7)
<asynchronous suspension>
#1      MethodChannel.invokeListMethod (package:flutter/src/services/platform_channel.dart:344:35)
<asynchronous suspension>
#2      MethodChannelFirebase._initializeCore (package:firebase_core_platform_interface/src/method_channel/method_channel_firebase.dart:30:22)
<asynchronous suspension>
#3      MethodChannelFirebase.initializeApp (package:firebase_core_platform_interface/src/method_channel/method_channel_firebase.dart:75:7)
<asynchronous suspension>
#4      Firebase.initializeApp (package:firebase_core/src/firebase.dart:43:9)
<asynchronous suspension>
#5      main (package:res_ds/main.dart:17:4)
<asynchronous suspension>

и это ошибка, которую я не могу решить. После этой ошибки графический интерфейс моего приложения не отображается. Я пробовал несколько решений, доступных в Интернете, но ни одно из них не помогло мне. Я предоставил ниже flutter doctor и pubspec, пожалуйста, посмотрите и помогите мне решить эту проблему. Заранее благодарим Flutter Doctor

flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel master, 1.27.0-2.0.pre.67, on Microsoft Windows [Version 10.0.19041.804], locale 
en-US)
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
    X Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.
[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.8.4)
[√] Android Studio (version 4.1.0)
[√] VS Code (version 1.52.1)
[√] Connected device (1 available)

! Doctor found issues in 1 category.

Pubspec.yaml

name: res_ds
description: A new Flutter application.

# The following line prevents the package from being accidentally published to
# pub.dev using `pub publish`. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev

# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
# followed by an optional build number separated by a +.
# Both the version and the builder number may be overridden in flutter
# build by specifying --build-name and --build-number, respectively.
# In Android, build-name is used as versionName while build-number used as versionCode.
# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.0.0+1

environment:
  sdk: ">=2.7.0 <3.0.0"

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
  provider: ^4.3.2+2
  http: ^0.12.2
  cloud_firestore: ^0.14.2
  firebase_core: ^0.5.0
  image_picker: ^0.6.7+22


dev_dependencies:
  flutter_test:
    sdk: flutter
  integration_test:
    sdk: flutter

# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec

# The following section is specific to Flutter.
flutter:

  # The following line ensures that the Material Icons font is
  # included with your application, so that you can use the icons in
  # the material Icons class.
  uses-material-design: true

  # To add assets to your application, add an assets section, like this:
  assets:
     - assets/images/
  #   - images/a_dot_ham.jpeg

  # An image asset can refer to one or more resolution-specific "variants", see
  # https://flutter.dev/assets-and-images/#resolution-aware.

  # For details regarding adding assets from package dependencies, see
  # https://flutter.dev/assets-and-images/#from-packages

  # To add custom fonts to your application, add a fonts section here,
  # in this "flutter" section. Each entry in this list should have a
  # "family" key with the font family name, and a "fonts" key with a
  # list giving the asset and other descriptors for the font. For
  # example:
  # fonts:
  #   - family: Schyler
  #     fonts:
  #       - asset: fonts/Schyler-Regular.ttf
  #       - asset: fonts/Schyler-Italic.ttf
  #         style: italic
  #   - family: Trajan Pro
  #     fonts:
  #       - asset: fonts/TrajanPro.ttf
  #       - asset: fonts/TrajanPro_Bold.ttf
  #         weight: 700
  #
  # For details regarding fonts from package dependencies,
  # see https://flutter.dev/custom-fonts/#from-packages

person Rabbiya    schedule 18.02.2021    source источник


Ответы (1)


Плагины Flutter Firebase в настоящее время не поддерживают Windows, поэтому нет реализации плагинов при запуске в Windows.

person smorgan    schedule 18.02.2021
comment
Я не уверен, почему люди отрицательно оценивают этот ответ. Причина ошибки в этом вопросе заключается в том, что реализация плагина не существует для Windows. Причина, по которой попытка различных решений для этого сообщения об ошибке, которое они нашли в Интернете, не сработала, заключается в том, что источником ошибки в данном конкретном случае является не ошибка конфигурации, а то, что отсутствует реализация. Я связался с авторитетным источником плагина, в котором перечислены поддерживаемые им платформы, но не Windows. - person smorgan; 02.05.2021
comment
В настоящее время я пишу приложение флаттера для рабочего стола, которое имеет много общего кода с приложением Android / IOS, и получаю ту же ошибку. Мое приложение использует несколько пакетов, в которых окна не указаны, но проблем нет. В пакете firedart явно указано, что он является родным для dart. Так что я предполагаю, что firebase не является родным для dart. Мне бы помогло понимание, если бы кто-нибудь объяснил, что означают эти каналы. Мост от дротика к коду, написанному на другом языке? И наконец, мне интересно, почему Google говорит, что Flutter 2.2 поддерживает Windows, но такой важный пакет, как Firebase, еще не поддерживается. - person Michael Uhlenberg; 23.05.2021
comment
@MichaelUhlenberg Большинство пакетов работают на всех платформах; плагины - это пакеты, которые имеют собственный код, зависящий от платформы. Для объяснения каналов см. flutter.dev/docs/development/platform-integration. /. Что касается поддержки Windows, сама Firebase не имеет поддержки рабочего стола Windows. SDK для Windows Firebase отсутствует, как для iOS и Android. Flutter - это не Firebase, как и многие другие плагины, и поддержка платформы не означает, что каждый возможный плагин будет поддерживать эту платформу. - person smorgan; 24.05.2021