FirebaseAuth.getInstance() 崩溃

Posted

技术标签:

【中文标题】FirebaseAuth.getInstance() 崩溃【英文标题】:FirebaseAuth.getInstance() crash 【发布时间】:2019-12-19 21:58:29 【问题描述】:

我正在制作一个包含登录系统的登录系统,登录后我们转到主要活动,那里有一个导航抽屉活动。 在我启动登录系统之前,我的登录系统运行良好,但我的主要活动是空的,只有注销按钮。但现在我将主要活动更改为导航抽屉活动。 在这里我遇到了崩溃,当我调试时,我发现崩溃发生在FirebaseAuth.getInstance(),当我进入代码内部时,我发现 ActivityThread.java 类充满了错误,就像你在照片中看到的那样,我已经尝试过FirebaseApp.initializeApp(Context) 它不起作用,所以请谁能告诉我为什么它一直崩溃。

您可以在下面看到我的 build.gradle 和我遇到的错误

image

apply plugin: 'com.android.application'

android 
compileSdkVersion 29
buildToolsVersion "29.0.2"
defaultConfig 
    applicationId "com.example.greenway"
    minSdkVersion 16
    targetSdkVersion 29
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

buildTypes 
    release 
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    



dependencies 
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'com.google.android.material:material:1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.navigation:navigation-fragment:2.1.0'
implementation 'androidx.navigation:navigation-ui:2.1.0'
implementation 'androidx.lifecycle:lifecycle-extensions:2.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation 'com.google.firebase:firebase-core:17.2.1'
implementation 'com.google.firebase:firebase-auth:19.2.0'
implementation 'com.google.firebase:firebase-database:19.2.0'
implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'androidx.cardview:cardview:1.0.0'


E/AndroidRuntime: 致命异常: main 进程:com.example.greenway,PID:7810 java.lang.RuntimeException:无法启动活动 ComponentInfocom.example.greenway/com.example.greenway.Login:java.lang.IllegalStateException:默认 FirebaseApp 未在此进程 com.example.greenway 中初始化。确保首先调用 FirebaseApp.initializeApp(Context)。 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3270) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409) 在 android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) 在 android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 在 android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016) 在 android.os.Handler.dispatchMessage(Handler.java:107) 在 android.os.Looper.loop(Looper.java:214) 在 android.app.ActivityThread.main(ActivityThread.java:7356) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) 原因:java.lang.IllegalStateException:默认 FirebaseApp 未在此进程 com.example.greenway 中初始化。确保首先调用 FirebaseApp.initializeApp(Context)。 在 com.google.firebase.FirebaseApp.getInstance(com.google.firebase:firebase-common@@19.3.0:184) 在 com.google.firebase.auth.FirebaseAuth.getInstance(com.google.firebase:firebase-auth@@19.2.0:1) 在 com.example.greenway.Login.onCreate(Login.java:41) 在 android.app.Activity.performCreate(Activity.java:7802) 在 android.app.Activity.performCreate(Activity.java:7791) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1299) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409) 在 android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) 在 android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 在 android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016) 在 android.os.Handler.dispatchMessage(Handler.java:107) 在 android.os.Looper.loop(Looper.java:214) 在 android.app.ActivityThread.main(ActivityThread.java:7356) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)

【问题讨论】:

请发布堆栈跟踪 :) 现在你有它希望我帮助 【参考方案1】:

您似乎没有应用 Google 插件

应用插件:'com.google.gms.google-services'

【讨论】:

非常感谢您为这行代码带来的所有麻烦 thx :)

以上是关于FirebaseAuth.getInstance() 崩溃的主要内容,如果未能解决你的问题,请参考以下文章

将Firebase Persistence Enabled设置为true后,不检索新数据?

Firebase Auth 返回一个神秘的不正确的 uid

对令牌感到困惑

Firebase Auth Anonymouse Registration/Login for Android java

打开初始片段时获取 KotlinNullPointerException

instanceId 和 getIdToken 有啥区别