FirebaseAuth.getInstance()崩溃“IllegalArgumentException:给定String为空或null”

时间:2017-02-20 02:41:08

标签: android firebase firebase-authentication

我试图从我的应用程序创建一个登录系统,但是当我打开它时崩溃了。我设法将错误找到了行

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)..............

3 个答案:

答案 0 :(得分:1)

此错误可能是由配置错误的google-services.json文件引起的。如果缺少api_key,则会发生错误。验证您的google-services.json文件是否包含此部分:

  "api_key": [
    {
      "current_key": "AIzaSyDkG-g8hH7T4TV7RrN23ccnRsXp12345678" //<-- your key here
    }
  ],

如果没有,请重新生成google-services.json

答案 1 :(得分:0)

确保已使用插件: 应用插件:“ com.google.gms.google-services”

与诸如“ com.google.android.gms:play-services-maps:16.0.0”之类的库可能会发生一些冲突,在这种情况下,作为解决方案,通常会删除该插件。我确定了,这就是问题所在。在没有播放服务库的情况下进行测试。

答案 2 :(得分:0)

我通过从以下版本升级依赖项来解决此问题

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

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

有关详细信息,请参见this