Firebase与Android Studio的连接错误:清单合并失败

时间:2019-07-04 00:30:40

标签: android firebase android-studio

我想将我的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'

3 个答案:

答案 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

enter image description here

希望有帮助