Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当FirebaseAuth.getInstance()返回“0”时,应用程序终止;空";_Android_Firebase_Firebase Authentication - Fatal编程技术网

Android 当FirebaseAuth.getInstance()返回“0”时,应用程序终止;空";

Android 当FirebaseAuth.getInstance()返回“0”时,应用程序终止;空";,android,firebase,firebase-authentication,Android,Firebase,Firebase Authentication,所以我从Firebase开始,我正在浏览最近发布的在线教程 在某一点上,我们必须启动应用程序,其中有一段代码: // Initialize Firebase Auth mFirebaseAuth = FirebaseAuth.getInstance(); mFirebaseUser = mFirebaseAuth.getCurrentUser(); if (mFirebaseUser == null) { // Not logged in, launch the Log In acti

所以我从Firebase开始,我正在浏览最近发布的在线教程

在某一点上,我们必须启动应用程序,其中有一段代码:

// Initialize Firebase Auth
mFirebaseAuth = FirebaseAuth.getInstance();
mFirebaseUser = mFirebaseAuth.getCurrentUser();

if (mFirebaseUser == null) {
    // Not logged in, launch the Log In activity
    loadLogInView();
}
这被放置在
onCreate()
中。问题是,每当我尝试运行应用程序时,都会出现以下异常:

java.lang.IllegalArgumentException: Given String is empty or null` for line 28 which is `mFirebaseAuth = FirebaseAuth.getInstance();
为什么我会得到
null
?除此之外,是什么阻止了应用程序运行,尽管我得到了
null
?无论如何,我已经在以某种方式处理
null


代码永远不会到达下一行,它只是在获取Auth实例时停止。

对此我不是很确定,但我相信您的mFireBaseAuth尚未初始化。也许吧

我猜这是因为我在firebase文档中读到:
注意:getCurrentUser也可能返回null,因为auth对象尚未完成初始化。如果您使用侦听器跟踪用户的登录状态,则无需处理此情况。

请检查您的应用程序
Gradle
文件。请确保在底部添加以下行

apply plugin: 'com.google.gms.google-services'
如果缺少这一行,那么代码将可以正常编译,但是
FirebaseAuth
将无法在没有合理警告的情况下实例化/初始化

另一种可能是您的身份验证未在Firebase控制台中正确启用。请相应地启用。附上截图。


祝你一切顺利

转到项目级
build.gradle
&检查它是否与以下内容完全相同:

allprojects {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
}

代码突然起作用了,当你看到其他答案时,你会发现同样的答案。

你把google_services.json文件复制到/app目录了吗?@DinukaJayasuriya是的,我复制了。我尝试将其删除/移动到其他地方,但构建失败得很惨,因此我认为这一切都很好。也许你可以显示异常的整个堆栈跟踪?@DougStevenson嗯,问题现在已经解决了。它的工作方式是我以助手的身份打开了这个窗口,经历了Firebase连接过程。当助手重新应用Gradle文件中的依赖项并进行同步时,问题得到了解决。问题是,在那之前,我尝试了10次重新应用它们和重新同步。。可能是AS中的一个bug?现在有什么建议可以解决这个问题吗(不知道该说什么。也许你的项目只是处于一个糟糕的状态。:-/我没有经常使用助手,而且它是新的,所以可能有问题。嗨,阿比舍克,我在模块:app文件中设置了这个,但我仍然得到一个空对象-google_services.json文件也在那里。@kilokahn-嗨,你能发布一个mo的屏幕截图吗dule:你将此声明放在哪里的应用程序?位置也很重要。@kilokahn-我已用截图更新了我的答案。请在Firebase控制台中检查至少一种身份验证方法是否已“启用”。查看你的代码,它应该是“电子邮件/密码”或“电话”因为其他人需要向你的模块:app gradle文件添加更多内容。明白了。它已启用,但我没有在清单中添加带有android:name的。空值是因为无法加载活动。不过非常感谢您的帮助!:)