我正在使用 FirebaseUI 数据库从 ListView 中的 Firebase 数据库引用中检索对象列表(在 ListFragment 上(,使用 FirebaseListAdapter。 我在build.gradle中放置了一个Firebase-ui-database的依赖项:
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion '27.0.3'
defaultConfig {
applicationId "vkalashnykov.org.busapplication"
minSdkVersion 16
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation 'com.android.support:support-v4:25.4.0'
implementation 'com.android.support:recyclerview-v7:25.4.0'
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.4.0'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.android.support:design:25.4.0'
compile 'com.google.firebase:firebase-auth:11.6.2'
testCompile 'junit:junit:4.12'
compile 'com.google.android.gms:play-services-maps:11.6.2'
compile 'com.google.android.gms:play-services-places:11.6.2'
compile 'com.google.android.gms:play-services:11.6.2'
compile 'com.google.android.gms:play-services-location:11.6.2'
implementation 'com.firebaseui:firebase-ui-database:4.1.0'
}
apply plugin: 'com.google.gms.google-services'
之后,我需要将我的minSdkVersion(我使用了15(更改为16,因为FirebaseUI需要它。在那之后,我在构建 Gradle 时开始收到错误:
../../.gradle/caches/transforms-1/files-1.1/appcompat-v7-25.4.0.aa/3b2c926192deabbc1b0a0696bfdc1100/res/values/values.xml 错误:找不到资源 android:attr/fontStyle。
错误:找不到资源安卓:属性/字体。
错误:找不到资源 android:attr/fontweight。
这是怎么回事,我该怎么办? 提前感谢,维克多
在奥利奥版本中添加了字体支持,在支持库中也可用,只需使用大于或等于 26 版本的支持库即可。另请查看此答案 https://stackoverflow.com/a/45208134/6193843
要解决此问题,请更改以下代码行:
compile 'com.google.firebase:firebase-auth:11.6.2'
自
implementation 'com.google.firebase:firebase-auth:16.0.3'
并添加以下代码行:
implementation 'com.google.firebase:firebase-core:16.0.1'
现在是强制性的。来自官方文档:
您的应用 gradle 文件现在必须明确列出
com.google.firebase:firebase-core
依赖项,Firebase 服务才能按预期工作。
关于谷歌播放服务,请更改以下代码行:
compile 'com.google.android.gms:play-services-maps:11.6.2'
compile 'com.google.android.gms:play-services-places:11.6.2'
compile 'com.google.android.gms:play-services-location:11.6.2'
自
compile 'com.google.android.gms:play-services-maps:15.0.1'
compile 'com.google.android.gms:play-services-places:15.0.1'
compile 'com.google.android.gms:play-services-location:15.0.1'
根据这一点,请删除这行代码:
compile 'com.google.android.gms:play-services:11.6.2'
不要忘记在您的顶级build.gradle
文件中添加以下Google服务插件:
classpath 'com.google.gms:google-services:4.0.2'