Android Studio - 无法解析符号 'firebase'

16

我目前正在将一个应用程序升级到新的Firebase版本。我按照指南操作,在项目build.gradle中包含了classpath 'com.google.gms:google-services:3.0.0'以及在模块build.gradle的依赖项中包括compile 'com.google.firebase:firebase-core:9.0.1'等内容,并在文件末尾添加了apply plugin:'com.google.gms.google-services'

在我的引入中,例如import com.google.firebase.database.DatabaseReference;,出现“无法解析符号'firebase'”的错误。这些不是构建时出现的错误,因此似乎可以工作,但是在Android Studio的代码编辑器中可见。

几天前我的导入工作正常(除FirebaseAuth外,它正在维护中)。自那以后我没有改变任何代码(除了尝试升级到9.0.2,结果相同)。我所做的唯一一件事就是更新了一些Android SDK组件,但我记不清是哪些。Android SDK以及Google Repository和Google Play服务都使用最新版本。重新构建、清理和无效缓存/重启都没有效果。

有什么想法如何修复这个问题吗?

10个回答

16

你需要在你的build.gradle(app)中加入这个依赖。

compile 'com.firebase:firebase-client-android:2.5.0'

一切都是最新版本,但问题仍然存在。 - Erik Schulze
1
请使用上述依赖项以及com.google.firebase:firebase-core:9.0.1。这将起作用。 - vaishakh nambiar
1
你提议的版本已经过时,请前往以下链接查看最新版本: http://stackoverflow.com/questions/40172866/com-firebasefirebase-client-android-vs-com-google-firebasefirebase-core - Hayk Nahapetyan

11

现在使用新版的Android Studio,将 Firebase 添加到您的项目非常容易。

以下是简单的步骤 -

1. 在 Android Studio 的 工具 菜单上,您会看到一个名为 Firebase 的条目。

Tools>Firebase

2. 选择此选项后,Firebase 助手面板将打开到代码编辑器的一侧:

FirebasePanel

3. 在此面板上,点击“认证”旁边的箭头,您将看到“电子邮件和密码认证”的步骤。

Email Auth

4. 点击“连接到 Firebase”按钮。

您的浏览器将打开一个“请求权限”的对话框: enter image description here

5. 点击“允许”,然后在“成功!”屏幕后,您将获得一个对话框,用于连接到 Firebase。

enter image description here

6.您将看到已连接。完成!

在此输入图片描述

了解更多关于Firebase的信息,请参见此处


4

您可以按照以下步骤在Android Studio中打开并使用助手窗口:

  1. 点击工具 > Firebase以打开助手窗口,并指导您同步Firebase和您的项目。

3

3
在将 Firebase 添加到您的项目之前,请确保满足以下先决条件:
  1. 为了使用 Firebase,您应该安装 Android Studio 1.5 或更高版本。
  2. 通过 Android SDK Manager 下载最新的 Google Play services SDK。
  3. 设备应运行 Android 2.3(姜饼)或更高版本,并且安装有 Google Play services 9.2.0 或更高版本。
我在经历了数小时的挣扎后发现了这些信息,所以想与其他人分享。
来源:添加 Firebase 到您的 Android 应用

2
在新的SDK中,不再需要调用Firebase.setAndroidContext()方法,因此您可以将其从代码中删除。
在新的SDK中,Firebase引用被DatabaseReference替换,您可以使用FirebaseDatabase类获取对数据库的初始引用。因此,您可以按以下方式在代码中获取数据库引用:
之前: Firebase rootRef = new Firebase("https://.firebaseio.com/");
之后: DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
请注意,您的数据库URL是从您下载的google-services.json文件自动确定的,因此您不需要指定它。但是,如果您想指定它(这可能有助于迁移),仍然可以这样做:
之前: Firebase ref = new Firebase("https://.firebaseio.com/path/to/data");
之后: DatabaseReference ref = FirebaseDatabase.getInstance() .getReferenceFromUrl("https://.firebaseio.com/path/to/data");
22

2
为了使用Firebase Messaging服务,您需要将以下依赖项添加到应用程序的build.gradle文件中:
            compile 'com.google.firebase:firebase-messaging:9.4.0'

我曾经遇到同样的问题,但幸亏有这个答案:

https://dev59.com/HVkS5IYBdhLWcg3w456B#39353961


2
请在gradle文件的dependencies中添加以下内容:
compile 'com.firebase:firebase-client-android:2.5.2'

如果您在构建时遇到重复文件的错误,请在build.gradle文件中添加packagingOptions指令来排除这些文件:
android {
    ...
    packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE-FIREBASE.txt'
        exclude 'META-INF/NOTICE'
    }
}

1

1

您需要使用Firebase客户端库。将以下代码添加到您的应用gradle文件中:

dependencies {

    // Firebase
    implementation 'com.firebase:firebase-client-android:2.5.2'

请使用最新版本替换2.5.2(自回答发布以来可能已有更新版本)。

应使用最新的gradle版本(而不是compile)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接