在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。
答案 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中都运行了所有有用的错误。