java.lang.NoClassDefFoundError:解析失败:Lcom/google/firebase/FirebaseApp$IdTokenListener;

java.lang.NoClassDefFoundError:解析失败:Lcom/google/firebase/FirebaseApp$IdTokenListener;,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我试图将Firebase用于一个简单的CRUD android应用程序,但在实例化Firebase数据库引用时,我在运行时遇到以下异常: java.lang.RuntimeException: Uncaught exception in Firebase Database runloop (3.0.0). Please report to firebase-database-client@google.com at com.google.firebase.database.android

我试图将Firebase用于一个简单的CRUD android应用程序,但在实例化Firebase数据库引用时,我在运行时遇到以下异常:

java.lang.RuntimeException: Uncaught exception in Firebase Database runloop (3.0.0). Please report to firebase-database-client@google.com
    at com.google.firebase.database.android.AndroidPlatform$1$1.run(com.google.firebase:firebase-database@@16.1.0:98)
    at android.os.Handler.handleCallback(Handler.java:873)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    ....
    ....
Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/firebase/FirebaseApp$IdTokenListener;
    ....
    ....
    at com.satwick.employeecrud.MainActivity.onCreate(MainActivity.java:76)
我经历了StackOverflow,虽然Firebase中有很多NoClassDefFoundError的案例,但没有一个是关于
IdTokenListener
。我主要意识到这可能是因为在设置Firebase数据库时遗漏了一些步骤。所以我重新检查了所有步骤:

  • 确保我的应用程序已在Firebase项目中注册,并具有正确的签名SHA1
  • google-services.json包含在我的应用程序目录中
  • firebase已正确加载到应用程序和项目的gradle文件中。(我现在可以完成电话号码认证,所以我很确定。)
  • 在onCreate()方法中:


    我在
    build.gradle
    中使用了一些不需要的库,因此为Firebase清除了以下导入的混乱:

    // Firebase
    implementation 'com.google.firebase:firebase-core:16.0.9'
    implementation 'com.google.firebase:firebase-auth:17.0.0'
    
    // Firebase UI
    implementation 'com.firebaseui:firebase-ui-auth:5.0.0'
    implementation 'com.firebaseui:firebase-ui-database:5.0.0'
    

    因此,我尝试从4.3.1->5.0.0更新firebase ui的版本,它成功了。

    我在
    build.gradle
    中使用了一些不需要的库,因此清除了firebase的以下导入的混乱:

    // Firebase
    implementation 'com.google.firebase:firebase-core:16.0.9'
    implementation 'com.google.firebase:firebase-auth:17.0.0'
    
    // Firebase UI
    implementation 'com.firebaseui:firebase-ui-auth:5.0.0'
    implementation 'com.firebaseui:firebase-ui-database:5.0.0'
    

    因此,我尝试从4.3.1->5.0.0更新firebase ui的版本,它成功了。

    我尝试从
    降级我的版本

    实现“com.firebaseui:firebaseui auth:4.3.1

    实现“com.firebaseui:firebaseui auth:4.3.0

    实现“com.google.firebase:firebase数据库:19.2.0

    实现“com.google.firebase:firebase数据库:16.0.4


    它成功了

    我试着把我的版本从

    实现“com.firebaseui:firebaseui auth:4.3.1

    实现“com.firebaseui:firebaseui auth:4.3.0

    实现“com.google.firebase:firebase数据库:19.2.0

    实现“com.google.firebase:firebase数据库:16.0.4


    它成功了

    你能发布你的应用程序的
    build.gradle
    文件吗?你能发布你的应用程序的
    build.gradle
    文件吗?
    // Firebase
    implementation 'com.google.firebase:firebase-core:16.0.9'
    implementation 'com.google.firebase:firebase-auth:17.0.0'
    
    // Firebase UI
    implementation 'com.firebaseui:firebase-ui-auth:5.0.0'
    implementation 'com.firebaseui:firebase-ui-database:5.0.0'