Firebase视频开发报错:无法解析FirebaseRecyclerOptions等符号
FirebaseUI依赖无法解析问题解决方案
问题现象
- 代码中
FirebaseRecyclerOptions提示Cannot resolve symbol 'FirebaseRecyclerOptions' - 导入语句
com.firebase.ui.database.FirebaseRecyclerOptions提示Cannot resolve symbol 'firebase' - 已添加Firebase数据库依赖和FirebaseUI数据库依赖,但问题仍未解决
用户提供的代码
源码
package com.example.coffecorner; import android.os.Bundle; import android.view.WindowManager; import androidx.appcompat.app.AppCompatActivity; import androidx.viewpager2.widget.ViewPager2; import com.firebase.ui.database.FirebaseRecyclerOptions; import com.google.firebase.database.FirebaseDatabase; public class Videohome extends AppCompatActivity { ViewPager2 viewpager2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_videohome); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); viewpager2=(ViewPager2)findViewById(R.id.vpager); FirebaseRecyclerOptions<videomodel> options = new FirebaseRecyclerOptions.Builder<videomodel>() .setQuery(FirebaseDatabase.getInstance().getReference().child("videos"), videomodel.class) .build(); } }
原Gradle文件
plugins { id 'com.android.application' id 'com.google.gms.google-services' } android { namespace 'com.example.coffecorner' compileSdk 33 defaultConfig { applicationId "com.example.coffecorner" minSdk 24 targetSdk 33 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } buildFeatures { viewBinding true } } dependencies { implementation fileTree(dir: "libs", include: ["*.jar"]) implementation 'androidx.appcompat:appcompat:1.6.0' implementation 'com.google.android.material:material:1.8.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' implementation 'com.google.firebase:firebase-auth:21.1.0' implementation 'androidx.navigation:navigation-fragment:2.4.1' implementation 'androidx.navigation:navigation-ui:2.4.1' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.5' androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1' implementation "androidx.viewpager2:viewpager2:1.0.0" implementation "com.google.android.material:material:1.2.0-alpha02" implementation "com.makeramen:roundedimageview:2.3.0" implementation "androidx.viewpager2:viewpager2:1.0.0" implementation 'com.google.android.material:material:1.2.1' implementation 'com.google.android.material:material:1.6.0' implementation "androidx.viewpager2:viewpager2:1.0.0" implementation 'com.google.firebase:firebase-database:16.0.4' implementation 'com.firebaseui:firebase-ui-database:6.3.0' }
解决方案
修复版本兼容性问题
当前使用的com.google.firebase:firebase-database:16.0.4版本过旧,和com.firebaseui:firebase-ui-database:6.3.0不兼容。FirebaseUI 6.3.0要求搭配19.3.0版本的firebase-database,替换依赖为:implementation 'com.google.firebase:firebase-database:19.3.0' implementation 'com.firebaseui:firebase-ui-database:6.3.0'清理重复依赖
你的Gradle文件中存在大量重复依赖(如viewpager2、material库多次重复引入),会导致依赖解析混乱。删除重复项,保留最新版本:// 保留最新版本的material和viewpager2,删除其他重复条目 implementation 'com.google.android.material:material:1.8.0' implementation "androidx.viewpager2:viewpager2:1.0.0"执行Gradle同步与清理
- 点击Android Studio右上角的
Sync Project with Gradle Files按钮重新同步 - 执行
Build > Clean Project,再执行Build > Rebuild Project - 若问题依旧,尝试
File > Invalidate Caches... > Invalidate and Restart清除缓存并重启AS
- 点击Android Studio右上角的
内容的提问来源于stack exchange,提问作者Luigirazzo
相关产品推荐
相关产品推荐

