FirebaseAuth.getInstance()崩溃并显示“IllegalArgumentException: Given String is empty or null”。

3

我试图从我的应用程序中创建一个登录系统,但是当我打开它时它会崩溃。我成功地将错误定位到了这一行。

mFirebaseAuth = FirebaseAuth.getInstance();

这对我来说毫无意义。以下是代码:

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

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

    if (mFirebaseUser == null) {
        // Not logged in, launch the Log In activity
        loadLogInView();
    }
}

private void loadLogInView() {
    Intent intent = new Intent(this, LogInActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
    startActivity(intent);
}

以及崩溃报告:

02-20 01:04:45.137 3186-3186/? E/AndroidRuntime: FATAL EXCEPTION: main
                                                 Process: com.maegner.testingfirebase, PID: 3186
                                                 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.maegner.testingfirebase/com.maegner.testingfirebase.MainActivity}: java.lang.IllegalArgumentException: Given String is empty or null
                                                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646)
                                                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
                                                     at android.app.ActivityThread.-wrap12(ActivityThread.java)..............
4个回答

1
这个异常可能是由于 google-services.json 文件配置错误引起的。如果缺少 api_key,则会发生错误。请验证您的 google-services.json 文件是否包含此部分:
  "api_key": [
    {
      "current_key": "AIzaSyDkG-g8hH7T4TV7RrN23ccnRsXp12345678" //<-- your key here
    }
  ],

如果没有成功,重新生成google-services.json文件。

1
我通过升级依赖项解决了这个问题。
implementation 'com.google.firebase:firebase-auth:16.0.5'

implementation 'com.google.firebase:firebase-auth:19.2.0'

请参见this以获取详细信息。

0

请确保您已在Firebase中启用了身份验证。 请确保您已在Gradle模块应用程序中添加了身份验证依赖项。 创建一个应用程序类并添加这两个 - FirebaseApp.initializeApp(this); Firebase.setAndroidContext(this);


0

请确保您已使用插件: apply plugin: 'com.google.gms.google-services'

有些库(例如'com.google.android.gms:play-services-maps:16.0.0')可能会发生冲突,此时通常会将插件移除作为解决方案。在我所识别的情况下,这就是问题所在。请尝试不使用play-services库进行测试。


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