play-services-ads与appcompat发生冲突 [英] play-services-ads conflicts with appcompat
问题描述
当我在build.gradle中添加implementation 'com.google.android.gms:play-services-ads:18.2.0'
时,Android Studio突出显示implementation 'com.android.support:appcompat-v7:28.0.0'
并显示错误:
When I add implementation 'com.google.android.gms:play-services-ads:18.2.0'
to my build.gradle, Android Studio highlights implementation 'com.android.support:appcompat-v7:28.0.0'
with the error:
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是:
My build.gradle is:
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'
}
推荐答案
您正在使用
implementation 'com.google.android.gms:play-services-ads:18.2.0'
Google Play服务已在最新版本中迁移到AndroidX.
Google Play services migrated to AndroidX in the latest release.
使用groupId com.android.support和androidx.*的依赖项不能合并
Dependencies using groupId com.android.support and androidx.* can not be combined
这意味着您正在同时使用支持库和androidx库.
It means that you are using both, support libraries and androidx libraries.
您可以:
- 如下所述迁移到androidx(在您的情况下,您必须将appcompat迁移到
implementation 'androidx.appcompat:appcompat:1.0.2'
) - 降级您的google play广告依赖项(但这不是真正的解决方案,因为您迟早要迁移)
您可以查看官方发行说明:
警告::此版本是主要版本的更新和重大更改. Google Play服务和Firebase的最新更新包括以下更改:
Warning: This release is a MAJOR version update and breaking change. The latest update to Google Play services and Firebase includes the following changes:
从Android支持库迁移到Jetpack(AndroidX)库.除非您在应用中进行以下更改,否则图书馆将无法工作:
Migration from Android Support Libraries to Jetpack (AndroidX) Libraries. 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 中的说明进行操作.
- Upgrade
com.android.tools.build:gradle
to v3.2.1 or later. - Upgrade
compileSdkVersion
to 28 or later. - Update your app to use Jetpack (AndroidX); follow the instructions in Migrating to AndroidX.
这篇关于play-services-ads与appcompat发生冲突的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!