Только онлайн-модули Android могут быть подключены к онлайн-проектам Firebase - PullRequest
0 голосов
/ 06 декабря 2018

В Android Studio 3.2.1 я выбираю:
Новое приложение для создания флаттера, затем вводлю
Имя приложения: sample_firebase_app
Я выбираю Далее, и приложение создается в:
D: \ Flutter \SampleFirebaseApplication

Новое приложение Flutter для Firebase Название компании: mycompanyname.com Я включаю поддержку kotlin, но не поддерживаю Swift, она создает main.dart

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(

Идентификатор проекта: homeassistantmobile

На веб-сайте Firebase я создаю новый проект:
HomeAssistantMobile

Затем я выбираю опцию добавления приложения Firebase
Я добавляю идентификатор приложения из моего build.gradle
com.mycompanyname.samplefirebaseapp

Я регистрирую приложение
Затем он предлагает мне возможность загрузить google-services.json

Веб-сайт Firebase показывает, что происходит по адресу:
My-Application / app Но у меня нет такой файловой структуры, поэтому я поместил ее в D: \ Flutter \ SampleFirebaseApplication \ sample_firebase_app \ android \ app

Затем сайт Firebase предлагает добавить следующее в build.gradle уровня проекта (/build.gradle):

buildscript {
  dependencies {
    // Add this line
    classpath 'com.google.gms:google-services:4.0.1'
  }
}

Но такого пути нет, поэтому япоместите его в D: \ Flutter \ SampleFirebaseApplication \ sample_firebase_app \ android \ build.gradle

Затем сайт Firebase предлагает поместить приведенный ниже текст в build.gradle уровня приложения (//build.gradle):*1030).*

dependencies {
  // Add this line
  implementation 'com.google.firebase:firebase-core:16.0.1'
}
...
// Add to the bottom of the file
apply plugin: 'com.google.gms.google-services'

Однако есть путь, соответствующий этому, поэтому я поместил его в

D: \ Flutter \ SampleFirebaseApplication \ sample_firebase_app \ android \ app \ build.gradle

Затем он предлагаетсинхронизировать с помощью: «Наконец, нажмите« Синхронизировать сейчас »на панели, которая появляется в IDE:« Такое сообщение не появляется, поэтому я щелкаю правой кнопкой мыши по файлам gradle и выбираю синхронизацию

. Я вижу ошибку: Ошибка подтверждения:Доступ на запись разрешен только внутри действия записи (см. Com.intellij.openapi.application.Application.runWriteAction ())

Но в конечном итоге приложение запускается, но веб-страница firebase застряла на:
Запустите приложениепроверять Установка:
Проверка связи приложения с нашими серверами.Возможно, вам придется удалить и переустановить приложение.

После долгого ожидания я нажимаю: пропустите этот шаг

Я удаляю и попробуйте снова Тот же результат

Подход номер два
Я выбираю Инструменты-> FirebaseПомощник всплываетup
Я выбираю: Настроить Firebase Cloud Messaging
Меня приветствуют:
Firebase Cloud Messaging позволяет получать и отправлять сообщения из вашего приложения на сервер и другие клиенты.В этом руководстве объясняется, как настроить FCM и разрешить вашему приложению получать уведомления.
Я выбираю первый вариант:
Подключение к Firebase
Меня приветствуют:
Не удалось найти модуль приложения Android.Только онлайн-модули Android могут быть подключены к онлайн-проектам Firebase.Создайте новый модуль приложения Android или создайте / импортируйте другой проект Android Studio.

Я испробовал множество других подходов, следовал учебным пособиям и потратил много часов на это и не добился прогресса, любые предложения, наши идеи приветствуются.

Я пробовал это в обычном приложении для Android, и все работает, как и ожидалось, поэтому проблема, похоже, связана только с приложениями Flutter.Возможно, это то, что говорится в сообщении: «Не удалось найти модуль приложения Android.Только онлайн-модули Android могут быть подключены к онлайн-проектам Firebase.Создайте новый модуль приложения Android или создайте / импортируйте другой проект Android Studio. 'означает, что в настоящее время Firebase не работает с Flutter Apps.

1 Ответ

0 голосов
/ 25 июня 2019

У меня была такая же проблема при попытке подключения через IDE;как и многие другие края Flutter / Dart;пользовательский интерфейс Firebase Assistant в Android Studio, похоже, является одним из тех случаев, когда инструменты еще не успели догнать технику и поставили тот же «Не удалось найти модуль приложения Android».

Однако этот процесс работал: - в консоли Firebase: создать / добавить FireBase в облачный проект
- В консоли FireBase: добавить значок Android-приложения
- предоставленное имя пакета проекта, псевдоним, отладка SHA1
- В консоли FireBase: загруженный созданный Google-services.json
- скопировал google-services.json в project_dir / android / app - добавлены google-services: 4.2.0 зависимость от buildscript сценария уровня проекта build.gradle
- добавлена ​​реализация зависимостей 'com.google.firebase: firebase-core: 16.0.9 '(НЕ самый последний 17.0.0, чтобы избежать коллизия зависимостей ) на уровне приложения build.gradle
- добавлено "apply plugin:'com.google.gms.google-services '"внизу уровня приложения build.gradle (не уверен, что позиция имеет значение?)
- импортировано firebase_messaging: firebase_messaging.dart
- создание и настройка объекта FirebaseMessaging

Это работает на устройстве с телефонией, не может сказать, работает ли оно только для Wi-Fi;Я заметил, что версии, использованные в этом вопросе, старше, но этого следовало ожидать, и я не знаю, было ли это проклятием Джоноса;однако, отсутствие автоматической синхронизации - это красный флаг;после того, как я добавил вышеупомянутые строки через Android Studio в свой основной проект, я увидел возможность открыть build.gradles в Android Studio;Я открыл для этого новое окно и построил их, используя всплывающие подсказки «sync», с которыми мы все знакомы;Интересно, была ли проглочена полезная ошибка, запустив это все через трепетную андроид студию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...