Java &引用;默认FirebaseApp未初始化";在模块依赖项的静态帮助器方法中使用它时发生错误

Java &引用;默认FirebaseApp未初始化";在模块依赖项的静态帮助器方法中使用它时发生错误,java,android,gradle,firebase-realtime-database,Java,Android,Gradle,Firebase Realtime Database,项目结构: 移动应用 事物应用程序 共享模块 共享模块作为应用程序的依赖项链接 问题 在我的共享模块中,我有一些常见的代码,比如我的FirebaseManager,可以轻松地创建新的数据库条目——使用静态方法 public class FirebaseManager { /** * Saves a given object as child to the root * @param root Name of the root node * @param

项目结构:

  • 移动应用
  • 事物应用程序
  • 共享模块
共享模块作为应用程序的依赖项链接

问题

在我的共享模块中,我有一些常见的代码,比如我的
FirebaseManager
,可以轻松地创建新的数据库条目——使用静态方法

public class FirebaseManager
{
    /**
     * Saves a given object as child to the root
     * @param root Name of the root node
     * @param obj Object to save
     */
    public static void create(String root, Object obj)
    {
        DatabaseReference database = FirebaseDatabase.getInstance().getReference(root);
        String id = database.push().getKey();
        database.child(id).setValue(obj);
    }
}
如果我现在在应用程序中调用此创建方法,我将获得具有以下错误的堆栈跟踪:

默认FirebaseApp未在此过程com.example中初始化。 确保首先调用FirebaseApp.initializeApp(上下文)

我尝试了什么-但没有解决我的问题:

  • 在我的`MainActivity.OnCreate(…)方法上调用了
    FirebaseApp.initializeApp(this)
  • 将MainActivity的上下文作为参数添加到我的创建方法中
  • 其他堆栈溢出帖子建议,在m apps的build.gradle文件中添加
    应用插件:“com.google.gms.google services”
    。这将导致一个奇怪的“多索引存档…”错误
更新1:添加了渐变文件

  • 格拉德尔项目:

  • 共享模块梯度:

  • 安卓物品等级:

更新2
它必须与我的Android项目有关。代码在我的“移动”Android项目中运行良好。

尝试调用
FirebaseApp.initializeApp(this)
在应用程序类(扩展应用程序的类)的onCreate()方法中

我在这里看到两个问题:

  • app build.gradle
    中的
    apply plugin
    行(您当前已注释掉)应该位于文件的底部(请参阅)。这很可能是目前导致您出错的原因

  • 您必须使用与Android Things build捆绑在一起的Play Services版本(请参见文档)。您可以在中找到与每个预览捆绑在一起的Play Service版本


  • 发布你的两个Gradle文件你是否在你的项目中下载/包含了
    google services.json
    。项目的gradle:,共享模块gradle:,应用程序的gradle:@JohnO'Reilly是的。我手动尝试过,但使用Android Studio向导找不到这个类。我查看了我所有的应用程序文件夹。这里只有我的
    MainActivity
    类。你能告诉我这个文件在哪里吗?你必须创建这个类。创建一个扩展“应用程序”类的类。然后在该类内部重写onCreate()函数,并在那里调用FirebaseApp.initializeApp(this)。您还需要在AndroidManifest.xml中注册它。在标记下写入android:name=“”