我想将我的Android Studio与Firebase连接起来。我在firebase网站上按照步骤操作,但是当我输入代码时:
implementation 'com.google.firebase:firebase-core:17.0.0'
出现错误:
Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91
is also present at [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:5:5-20:19 to override.
当我将第一行用作注释时,错误消失了!
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.1'
classpath 'com.google.gms:google-services:4.2.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
第二个文件
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.example.rentacar"
minSdkVersion 28
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner
"android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-
optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation 'com.google.firebase:firebase-core:17.0.0'
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
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'
}
apply plugin: 'com.google.gms.google-services'
答案 0 :(得分:1)
implementation 'com.google.firebase:firebase-core:17.0.0'
此版本的firbase库使用AndroidX体系结构组件。
如果您在项目中未使用任何AndroidX架构组件,则将您的Firebase SDK版本降级为16.0.9。
implementation 'com.google.firebase:firebase-core:16.0.9'
答案 1 :(得分:0)
android.useAndroidX=true
android.enableJetifier=true
在 gradle.properties 中添加这两行。
答案 2 :(得分:0)
如果您使用的是最新的Firebase SDK,则只需将应用迁移到AndroidX。 Google说:
2019年6月,所有适用于Android的Firebase SDK从Android支持库迁移到Jetpack(AndroidX)库。 除非您在应用中进行以下更改,否则更新的库将无法工作: 将com.android.tools.build:gradle升级到v3.2.1或更高版本。 将compileSdkVersion升级到28或更高版本。 更新您的应用程序以使用Jetpack(AndroidX);请按照迁移到AndroidX中的说明进行操作。
这些是迁移步骤:
点击顶部菜单中的重构->重构->迁移到AndroidX
我添加了屏幕截图以使其更容易。 enter image description here
希望有帮助