我正在使用Google Firebase(身份验证和Cloud Firestore)开发应用程序。 在documentation之后,我应该在我的应用程序级别build.gradle文件中添加以下依赖项,以便访问云Firestore数据库
implement 'com.google.firebase:firebase-admin:6.8.1'
但是,这种方法在编译时会产生以下错误:
“注释处理器必须立即显式声明。编译类路径上的以下依赖项包含注释处理器。请将它们添加到注释处理器配置中。 -auto-value-1.4.jar(com.google.auto.value:auto-value:1.4) 另外,设置android.defaultConfig.javaCompileOptions.annotationProcessorOptions.includeCompileClasspath = true可以继续以前的行为。请注意,此选项已弃用,以后将被删除。 有关更多详细信息,请参见https://developer.android.com/r/tools/annotation-processor-error-message.html。”
我尝试通过将依赖项替换为:
,按照错误消息中链接的网站中所述解决问题。compileOnly 'com.google.firebase:firebase-admin:6.8.1'
annotationProcessor 'com.google.auto.value:auto-value:1.4'
这会删除旧错误,但会导致另一个我无法修复的问题。添加依赖项'com.google.firebase:firebase-admin:6.8.1'
会导致'com.google.firebase:firebase-auth:17.0.0'
依赖项中的某些方法不再起作用。
”错误:找不到符号方法getCurrentUser()
错误:找不到符号方法signInWithCredential(AuthCredential)“
我的第一个想法是admin依赖项包括auth拥有的某些类。但是,对于这种情况下的gradle行为以及如何解决这一问题,我并不太了解。
下面是我对build.gradle文件的依赖
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:cardview-v7:28.0.0'
implementation 'com.android.support:customtabs:28.0.0'
implementation 'com.facebook.android:facebook-login:[5,6)'
implementation 'com.android.support:support-media-compat:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.google.firebase:firebase-auth:17.0.0'
implementation 'com.google.firebase:firebase-core:16.0.9'
compileOnly 'com.google.firebase:firebase-admin:6.8.1'
annotationProcessor 'com.google.auto.value:auto-value:1.4'
implementation 'com.google.android.gms:play-services-auth:16.0.1'
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support:support-vector-drawable:28.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
答案 0 :(得分:1)
firebase-admin依赖项不打算在客户端应用程序中使用。它与服务器代码一起使用。它可能与适用于Android的Firebase客户端SDK冲突。如果要使用firebase-admin,则将需要一个后端组件到您的应用程序中并在其中调用它。