当我尝试将我的应用程序连接到Firebase时遇到此错误。
以下是app / build.gradle中的依赖项
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.0.0-alpha1'
implementation 'androidx.constraintlayout:constraintlayout:1.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.0-alpha3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha3'
implementation 'com.google.firebase:firebase-core:16.0.0'
}
apply plugin: 'com.google.gms.google-services'
答案 0 :(得分:4)
只需在Android Studio中启动一个针对最新Android版本的新项目。 Studio使用androidx生成了所有依赖项,但是我自己通过在build.gradle文件中添加以下代码块来添加了数据绑定:
android {
dataBinding {
enabled = true
}
}
但是后来我开始看到这些错误:
Program type already present: android.support.v4.os.ResultReceiver$MyResultReceiver
通过检查Gradle依赖关系树,我了解到MyResultReceiver是通过androidx.core依赖关系引入的,而且还通过非androidx数据绑定库引入的与应用程序兼容的依赖关系引入的。
@ kamarudeen-ayankunbi的答案似乎确实解决了这个问题。如果您阅读文档(https://developer.android.com/topic/libraries/support-library/androidx-overview),则Google事件会指出,在Android Studio中启动一个针对最新API的新项目并使用androidx之后,您应该将这两个属性添加到gradle.properties文件中:
android.useAndroidX=true
android.enableJetifier=true
答案 1 :(得分:1)
该错误是由于在项目中存在重复的库,这是由于将androidx与较早的支持库一起使用的结果。您可以手动浏览代码库并更改必要的导入行,或者让Android Studio来完成工作:
在Android Studio中,右键单击应用程序导演。重构->迁移到Android X