当前位置: 首页 > 知识库问答 >
问题:

将Google Play服务添加到android应用会导致'com.android.support和AndroidX.*conflict'[重复]

穆高澹
2023-03-14

当我在Android Studio中生成一个新的“空活动”应用程序时,我会在app/build.gradle中获得以下依赖项:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    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.google.android.gms:play-services-ads:18.1.1'
Dependencies using groupId com.android.support and androidx.* can not be combined but found IdeMavenCoordinates{myGroupId='com.android.support', myArtifactId='support-vector-drawable', myVersion='28.0.0', myPacking='aar', myClassifier='null'} and IdeMavenCoordinates{myGroupId='androidx.loader', myArtifactId='loader', myVersion='1.0.0', myPacking='aar', myClassifier='null'} incompatible dependencies more... (Ctrl+F1)
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:5:5-19:19 to override.

共有1个答案

太叔志尚
2023-03-14

你的错误很容易解释。上面写着:

Dependencies using groupId com.android.support and androidx.* can not be combined

这意味着,您将supportAndroidX依赖项混为一谈。

更清楚地说,您几乎在任何地方都在使用支持库,即在app/build.gradle中包含com.android.support的任何东西,但最新的ads库使用AndroidX依赖项。

您可以在这里找到如何迁移到AndroidX

关于另一个关于清单合并失败的错误,您可以按照这里给出的答案中的说明来修复它。

 类似资料:
  • 我试图删除的所有用法,以支持androidx(请参见此处了解我使用的替换内容),但是库仍然被使用,即使我删除了这些库(它们只是在我再次尝试编译时重新制作)。 这是我得到的完整错误的链接。

  • 我有一个以编程方式定义的UISegmentedControl。 我正在尝试添加一个布局约束,以便在我的iPad旋转时,分段控件在旋转视图中的大小正确,而不是溢出屏幕。 我应用以下约束: 我的UIsegmentControl定义如下: 我没有出错,但是在运行时,我的分段控件消失了。不确定我在这里错过了什么,因为我过去只在故事板中做过自动布局。 我只想能够调整分段控件的宽度,所以我假设我只需要一个布局

  • 我试图创建一组int数组,问题是,如果我尝试这样做: 那么s有两个对象,但应该只有一个。注意:它是否是HashSet并不重要 现在如果我试着用ArrayList做这个 那么s有一个对象。 我想了一种方法来避免第一个代码中的错误,并将每个数组的hashcode存储在hashset中,如下所示: 它适用于第一种情况(1,2,3),但在有碰撞的情况下它不起作用,所以我必须管理碰撞。所以,我认为我正在做的

  • 我得到了在地图上绘制一些点的任务。写了一些代码,但目前我通过形状创建的每个点都将被添加到网格内的错误位置。哦,我正在使用JavaFX。 我在GridPane的索引0,0中添加了一个ImageView,每个点都是通过MouseEvent在ImageView上的x和y位置创建的。之后,我将创建的点添加为GridPane的子节点,它显示在第一个网格的y轴中心。尝试了不同的东西,如anchorPanes和

  • 问题内容: 我正在尝试向一些Web服务调用中添加一些响应标头。我使用CXF 2.1.2和JAX- RS编写了Web服务。我需要返回一个对象,我还想向Response添加一些标头。 在不返回javax.ws.rs.core.Response对象的情况下 ,如何在响应中添加标头并仍然返回javabean? 问题答案: 您可以通过Web服务中的@Context注释注入对实际HttpServletResp

  • 我有一个建立在Spring启动基础上的后端,然后我学校的一些定制代码建立在这个基础上。前端是纯粹的角度应用程序,我从不同的服务器上通过一大口服务提供。他们只通过REST调用连接。 后端已经运行了一个身份验证模块,现在我需要从后端运行的同一tomcat服务器为这个角应用程序提供服务,这样它也可以使用这个身份验证模块。 我发现这是关于多个连接器的,所以我将其复制为以下类来设置多个连接器: 问题是我没有