清单合并失败:属性 application@appComponentFactory 更新 Firebase 库 [英] Manifest merger failed : Attribute application@appComponentFactory updating Firebase libraries

查看:33
本文介绍了清单合并失败:属性 application@appComponentFactory 更新 Firebase 库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在我的项目中添加 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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆