仅Android应用程序模块可以连接到Firebase在线项目

时间:2018-12-05 21:06:35

标签: firebase android-studio dart flutter

在Android Studio 3.2.1中,我选择:
新的flutter应用程序,然后输入
应用名称: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(

项目ID:homeassistantmobile

在Firebase网站上,我创建了一个新项目:
HomeAssistantMobile

然后我选择添加Firebase应用程序的选项
我从build.gradle添加了应用程序ID
com.mycompanyname.samplefirebaseapp

我注册了应用程序
然后,它为我提供了下载google-services.json

的选项

firebase网站将其显示在以下位置:
我的应用程序/应用程序 但是我没有那个文件结构,所以我把它放在 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):

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文件并选择sync

我看到一个错误  断言失败:仅在写操作内允许写访问(请参阅com.intellij.openapi.application.Application.runWriteAction())

但是最终该应用程序可以运行,但是firebase网页停留在以下位置:
运行您的应用以验证安装:
检查应用程序是否已与我们的服务器通信。您可能需要卸载并重新安装您的应用程序。

一生的等待之后,我点击了:跳过此步骤

我卸载并重试  结果相同

第二种方法
 我选择工具-> firebase助手弹出
 我选择:设置Firebase云消息传递
 受到我的欢迎:
 Firebase Cloud Messaging可让您从应用程序接收消息并将消息发送到服务器和其他客户端。本教程说明了如何设置FCM,并使您的应用程序能够接收通知。
 我选择第一个选项:
 连接到Firebase
 受到我的欢迎:
 找不到Android应用程序模块。仅Android应用程序模块可以连接到Firebase在线项目。创建新的Android应用程序模块或创建/导入其他Android Studio项目。

我尝试了许多其他方法,遵循了教程,并花了很多时间在此上,但没有取得任何进展,欢迎提出任何建议,我们的想法都是如此。

我已经在常规的Android应用程序中尝试了此操作,并且一切正常,因此问题似乎仅与Flutter Apps相关。 也许这就是信息: '找不到Android应用程序模块。仅Android应用程序模块可以连接到Firebase在线项目。创建一个新的Android应用程序模块或创建/导入其他Android Studio项目。” 意味着,当前Firebase可能不适用于Flutter Apps。

1 个答案:

答案 0 :(得分:0)

尝试通过IDE连接时,我遇到了同样的问题;像Flutter / Dart的许多其他边缘一样;在Android Studio中,firebase助手UI似乎是其中一种工具尚未赶上技术并提供相同的“找不到Android应用程序模块”的情况之一。

此过程有效,但是:   -在Firebase控制台上:将Firebase创建/添加到云项目
  -在Firebase控制台上:添加android应用图标按钮
    -提供的项目包名称,昵称,调试SHA1
  -在Firebase控制台上:下载生成的google-services.json
  -将google-services.json复制到project_dir / android / app   -在项目级build.gradle的buildscript中添加了google-services:4.2.0依赖项
  -在应用程序级build.gradle中添加了依赖项实现'com.google.firebase:firebase-core:16.0.9'(不是最新的17.0.0,以避免dependency collision)。   -在应用程序级别build.gradle的底部添加了“应用插件:'com.google.gms.google-services'”(不确定位置是否重要?)
  -导入的firebase_messaging:firebase_messaging.dart
  -实例化并配置了FirebaseMessaging对象

此功能可在具有电话功能的设备上使用,无法确定它是否仅适用于wifi;我注意到问题中使用的版本较旧,但这是可以预料的,而且我不知道这是否是Johnos的祸根。但是,缺少自动同步是一个危险信号。在我的主要flutter项目中通过Android Studio添加了以上几行之后,我看到了一个在Android Studio中打开build.gradles的选项;我确实为此打开了一个新窗口,并使用我们都熟悉的弹出式“ sync”提示来构建它们。我不知道是否在整个flutterized android studio中都运行了所有有用的错误。