我有一个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'
}
答案 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
或更高版本。