Java 清单合并失败:属性application@appComponentFactory更新Firebase库
我试图在我的项目中添加firebase,但当我实现Java 清单合并失败:属性application@appComponentFactory更新Firebase库,java,firebase,gradle,build.gradle,androidx,Java,Firebase,Gradle,Build.gradle,Androidx,我试图在我的项目中添加firebase,但当我实现'com.google.firebase:firebase消息:19.0.0'和'com.google.firebase:firebase核心:17.0.0'时 build.gradle(以下是错误) } 另一个gradle文件: buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools
'com.google.firebase:firebase消息:19.0.0'
和'com.google.firebase:firebase核心:17.0.0'
时
build.gradle
(以下是错误)
}
另一个gradle文件:
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'}不兼容的依赖项
检验信息:有一些库、工具和工具的组合
库不兼容,或可能导致错误。其中之一
不兼容是使用Android支持版本编译的
不是最新版本的库(特别是
低于您的targetSdkVersion)
同样当我构建apk时,它会显示以下错误:
清单合并失败:属性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处进行重写
添加工具:replace=“android:appComponentFactory”不起作用
如果这对您有帮助,请尝试并同步您的项目
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'
在新版本中,库从Android支持库迁移到Jetpack(AndroidX)库 除非您在应用程序中进行以下更改,否则更新的库将无法工作:
- 升级com.android.tools.build:gradle至v3.2.1或更高版本。
- 将CompileSDK版本升级到28或更高版本。
- 更新应用程序以使用Jetpack(AndroidX);按照中的说明操作。
android.useAndroidX=true
android.enableJetifier=true
方法2
如果方法1不能解决你的问题
做一件事
如果您使用的是android studio 3.2版或更高版本
转到重构>迁移到AndroidX…或者降级那些
Firebase
依赖项,或者转到AndroidX
Jetifier是相当无用的,因为它可以控制自己的依赖项。您同时使用支持库和androidx库,但您无法做到这一点 云消息版本19.0.0将于6月份发布。检查Firebase库的名称: 此版本是一个主要的版本更新,包括重大更改。 通过此版本,库从Android支持库迁移到Jetpack(AndroidX)库。 除非您在应用程序中进行以下更改,否则更新的库将无法工作:
- 升级
至com.android.tools.build:gradle
或更高版本v3.2.1
- 升级
至compileSdkVersion
或更高版本28
- 更新应用程序以使用Jetpack(AndroidX);按照中的说明操作
- 更新你的应用程序以使用Jetpack(AndroidX),你可以通过在项目根目录中的文件
中添加以下两行来实现这一点:gradle.properties
和android.useAndroidX=true
。或者你可以android.enableJetifier=true
- 升级
至v3.2.1或更高版本(在项目com.android.tools.build:gradle
文件中)build.gradle
- 升级
至28或更高版本(在项目compileSdkVersion
文件中)build.gradle
Refactor->migrate to AndroidX
但是请注意,如果您已经专门化了配置,则可能需要手动进行一些更改
这里有一个关于这个主题和删除工具的可能的重复:替换并将这两个属性添加到gradle。属性解决了meThis的问题,这对我来说很有用。我想借此机会表达一下,作为一个每天都不在Android Studio中的用户,在Android Studio中开发是多么痛苦。每次我更新Studio、SDK、Gradle等,我都会冒着花几天时间让一切恢复正常的风险。幸运的是,这次我很快找到了你的答案。谢谢
android.useAndroidX=true
android.enableJetifier=true