play-services-ads与appcompat存在冲突

3

当我在build.gradle文件中添加implementation 'com.google.android.gms:play-services-ads:18.2.0'时,Android Studio会将implementation 'com.android.support:appcompat-v7:28.0.0'标记为错误:

Dependencies using groupId com.android.support and androidx.* can not be combined but found IdeMavenCoordinates{myGroupId='com.android.support', myArtifactId='versionedparcelable', myVersion='28.0.0', myPacking='aar', myClassifier='null'} and IdeMavenCoordinates{myGroupId='androidx.interpolator', myArtifactId='interpolator', myVersion='1.0.0', myPacking='aar', myClassifier='null'} incompatible dependencies

我的 build.gradle 文件是:

apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'

android {
    compileSdkVersion 28
    configurations.all {
        resolutionStrategy.force 'com.android.support:appcompat-v7:28.0.0'
    }
    defaultConfig {
        applicationId "com.XXXXXX.XXXXXX"
        minSdkVersion 14
        targetSdkVersion 28
        versionCode 3
        versionName "1.1.2"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'com.google.android.gms:play-services-ads:18.2.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'
}


尝试使用实现'com.google.android.gms:play-services-ads:16.0.0' - Dany Minassian
将 implementation 'com.android.support:appcompat-v7:28.0.0' 替换为 implementation 'androidx.appcompat:appcompat:1.0.2',并告诉我是否解决了你的问题。否则,我会在我的电脑上尝试实现并找到 gradle 中的错误。 - Fahim Al Mahmud Ashik
1个回答

7

你正在使用

implementation 'com.google.android.gms:play-services-ads:18.2.0'

Google Play服务在最新版本中迁移到了AndroidX。

使用groupId com.android.support和androidx .*的依赖项不能合并

这意味着您同时使用支持库和Andoridx库。

您可以:

  • 按照以下方式迁移到Andoridx(在您的情况下,您需要将appcompat迁移到implementation'androidx.appcompat:appcompat:1.0.2'
  • 降级您的谷歌广告依赖项(但这不是真正的解决方案,因为您迟早都要迁移)

您可以查看官方发布说明

警告:此版本更新是重大版本更新和破坏性更改。 最新的Google Play服务和Firebase更新包括以下更改:

从Android支持库迁移到Jetpack(AndroidX)库。除非您在应用程序中进行以下更改,否则库将无法工作:

  • com.android.tools.build:gradle升级到v3.2.1或更高版本。
  • compileSdkVersion升级到28或更高版本。
  • 更新您的应用程序使用Jetpack(AndroidX);请按照迁移到AndroidX中的说明进行操作。

1
要迁移到AndroidX,请转到“重构”->“迁移到AndroidX”。 - Kit M

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接