亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java.lang.NoClassDefFoundError:解析失敗:

我正在嘗試將 Firebase 用于簡單的 CRUD android 應用程序,但是在實例化 Firebase 數據庫引用時,我在運行時遇到以下異常:java.lang.RuntimeException: Uncaught exception in Firebase Database runloop (3.0.0). Please report to [email protected]    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() 方法中:    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) {            List<AuthUI.IdpConfig> providers = Arrays.asList(new AuthUI.IdpConfig.PhoneBuilder().build());            startActivityForResult(                    AuthUI.getInstance()                            .createSignInIntentBuilder()                            .setAvailableProviders(providers)                            .build(),                    RC_SIGN_IN);        } else {            mUsername = mFirebaseUser.getDisplayName();        }        // MainActivity.java:76 The following line causes the exception.        mFirebaseDatabaseReference = FirebaseDatabase.getInstance().getReference();     }這是 Firebase 的錯誤嗎?還是我做錯了什么?請幫忙。另外,我不知道這是否相關,但我有兩個應用程序在同一個 Firebase 項目中注冊,具有相同的簽名密鑰(Android Studio 的默認 SHA1。)
查看完整描述

2 回答

?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

我在 中使用了一些不需要的庫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'

因此,我嘗試將 firebase-ui 的版本從 4.3.1 -> 5.0.0 更新,并且成功了。


查看完整回答
反對 回復 2023-01-05
?
回首憶惘然

TA貢獻1847條經驗 獲得超11個贊

我嘗試將我的版本從

實施 'com.firebaseui:firebase-ui-auth: 4.3.1 '

實施 'com.firebaseui:firebase-ui-auth: 4.3.0 '

實施 'com.google.firebase:firebase-database: 19.2.0 '

實施 'com.google.firebase:firebase-database: 16.0.4 '

它奏效了


查看完整回答
反對 回復 2023-01-05
  • 2 回答
  • 0 關注
  • 326 瀏覽
慕課專欄
更多

添加回答

了解更多

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號