在gradle中插入AdMob或Firebase代码时发生错误

时间:2019-06-22 14:20:52

标签: android firebase android-gradle admob android-manifest

我有一个android studio项目,当我在gradle中插入AdMob或Firebase代码时,看到此错误

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:8:1-25:15 to override.

这是我的清单 manifest

这是gradle

    dependencies {
    classpath 'com.android.tools.build:gradle:3.4.1'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

    classpath 'com.google.gms:google-services:4.2.0'
}

2 个答案:

答案 0 :(得分:0)

将代码添加到<application>

后,
    tools:replace="android:appComponentFactory"
    android:appComponentFactory="androidx"

答案 1 :(得分:0)

新的Firebase libraries和新的Google Play Libraries 需要androidx 。 由于您正在使用这些库,因此同时使用了支持库和androidx库。

检查注释:

  

此版本是主要版本的更新,其中包含重大更改。   在此版本中,库已从Android支持库迁移到Jetpack(AndroidX)库。   除非您在应用中进行以下更改,否则更新的库将无法工作:

  • com.android.tools.build:gradle升级到v3.2.1或更高版本。
  • compileSdkVersion升级到28或更高版本。
  • 更新您的应用程序以使用Jetpack(AndroidX);请按照Migrating to AndroidX中的说明进行操作。