清单合并失败:属性 application@appComponentFactory 更新 Firebase 库 [英] Manifest merger failed : Attribute application@appComponentFactory updating Firebase libraries
问题描述
我正在尝试在我的项目中添加 firebase 但当我实现 'com.google.firebase:firebase-messaging:19.0.0'
和 'com.google.firebase:firebase-core:17.0.0'
.
I am trying to add firebase in my project but when I implement 'com.google.firebase:firebase-messaging:19.0.0'
and 'com.google.firebase:firebase-core:17.0.0'
.
build.gradle
(这里是错误)
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.example.user.mikripoli"
minSdkVersion 15
targetSdkVersion 28
multiDexEnabled true
versionCode 1
versionName "1.0"
testInstrumentationRunner
"android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}
dexOptions {
javaMaxHeapSize "2g"
}
}
dependencies {
implementation 'com.roughike:bottom-bar:2.0'
implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.android.support:exifinterface:28.0.0'
implementation 'com.android.support:animated-vector-drawable:28.0.0'
implementation 'com.flaviofaria:kenburnsview:1.0.7'
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.android.support:design:28.0.0'
implementation 'com.github.chrisbanes:PhotoView:2.1.4'
implementation 'com.google.firebase:firebase-messaging:19.0.0'
implementation 'com.google.firebase:firebase-core:17.0.0'
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'
implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation 'com.android.support:cardview-v7:28.0.0'
implementation "com.google.android.gms:play-services-location:17.0.0"
implementation 'com.google.android.gms:play-services-maps:17.0.0'
implementation 'com.google.android.gms:play-services-base:17.0.0'
implementation 'com.github.ahmedshaban1:EasySlider:1.0.0'
implementation 'com.liangfeizc:SlidePageIndicator:1.1.0@aar'
implementation 'me.relex:circleindicator:1.2.2@aar'
implementation 'com.github.bumptech.glide:glide:4.8.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'
}
另一个gradle文件:
the other gradle file:
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()
mavenCentral()
jcenter()
maven {
url "https://maven.google.com"
}
maven { url "https://jitpack.io" }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
显示关于com.android.support:support-v4:28.0.0
的错误:
使用 groupId com.android.support 和 androidx.* 的依赖不能被合并但被发现IdeMavenCoordinates{myGroupId='com.android.support',myArtifactId='cardview-v7', myVersion='28.0.0', myPacking='aar',myClassifier='null'} 和IdeMavenCoordinates{myGroupId='androidx.coordinatorlayout',myArtifactId='coordinatorlayout', myVersion='1.0.0', myPacking='aar',myClassifier='null'} 不兼容的依赖
Dependencies using groupId com.android.support and androidx.* can not be combined but found IdeMavenCoordinates{myGroupId='com.android.support', myArtifactId='cardview-v7', myVersion='28.0.0', myPacking='aar', myClassifier='null'} and IdeMavenCoordinates{myGroupId='androidx.coordinatorlayout', myArtifactId='coordinatorlayout', myVersion='1.0.0', myPacking='aar', myClassifier='null'} incompatible dependencies
检查信息:有一些库或工具的组合和不兼容或可能导致错误的库.一个这样的不兼容是用Android支持的版本编译不是最新版本的库(或者特别是一个版本低于您的 targetSdkVersion).
Inspection info:There are some combinations of libraries, or tools and libraries, that are incompatible, or can lead to bugs. One such incompatibility is compiling with a version of the Android support libraries that is not the latest version (or in particular, a version lower than your targetSdkVersion).
另外,当我构建 apk 时,它显示此错误:
Also when I build the apk it shows this error:
清单合并失败:属性 application@appComponentFactory值=(android.support.v4.app.CoreComponentFactory) 来自[com.android.support:support-compat:28.0.0]AndroidManifest.xml:22:18-91 也存在于[androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86值=(androidx.core.app.CoreComponentFactory).建议:添加'tools:replace="android:appComponentFactory"' 到元素在 AndroidManifest.xml:13:5-354:19 覆盖.
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 element at AndroidManifest.xml:13:5-354:19 to override.
添加 tools:replace="android:appComponentFactory" 不起作用
adding tools:replace="android:appComponentFactory" doesn't work though
推荐答案
在新版本中,库从 Android 支持库迁移到 Jetpack (AndroidX) 库.
With new release, libraries are migrated from the Android Support Libraries to the Jetpack (AndroidX) Libraries.
除非您在应用中进行以下更改,否则更新后的库将无法使用:
The updated libraries will not work unless you make the following changes in your app:
将 com.android.tools.build:gradle 升级到 v3.2.1 或更高版本.
将 compileSdkVersion 升级到 28 或更高版本.
更新您的应用以使用 Jetpack (AndroidX);按照迁移到 AndroidX 中的说明进行操作.
Update your app to use Jetpack (AndroidX); follow the instructions in Migrating to AndroidX.
方法一:
将这两个添加到您的 gradle.properties 文件中,无需更新任何内容
add this two in your gradle.properties File, without updating anything
android.useAndroidX=true
android.enableJetifier=true
方法 2
如果方法 1 不能解决您的问题做一件事如果您使用的是 android studio 3.2 或更高版本转到重构>迁移到 AndroidX...
if Method-1 doesn't solve your problem do one thing if you are using android studio version 3.2 or higher go to Refactor>Migrate to AndroidX...
这篇关于清单合并失败:属性 application@appComponentFactory 更新 Firebase 库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!