在模块classes.jar(com.android.support:support中找到重复的类android.support.v4.app.NotificationCompat $ Action $ Extender

时间:2019-05-31 23:04:20

标签: android gradle

我收到多行错误,指出它具有重复的课程

  

重复的课程

     

android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat   在模块classes.jar中找到   (com.android.support:support-compat:28.0.0)和classes.jar   (com.android.support:support-v4:24.0.0)   重复课程   在模块中找到android.support.v4.app.ActionBarDrawerToggle   classes.jar(com.android.support:support-core-ui:28.0.0)和   classes.jar(com.android.support:support-v4:24.0.0)   重复课程   转到文档以了解如何解决依赖关系解析   错误。

我的gradle.app具有以下依赖关系:

  

依赖性{

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.google.android.gms:play-services:10.2.4'
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'
     

}

2 个答案:

答案 0 :(得分:0)

可能需要升级版本,可以通过以下方式使用序列 Alt + Enter 来实现:

enter image description here

如今,您不需要使用所有Google Play服务,只需使用模块和示例即可:

implementation 'com.google.android.gms:play-services-ads:VERSION'
implementation 'com.google.android.gms:play-services-auth:VERSION'
implementation 'com.google.android.gms:play-services-gcm:VERSION'

但是如果您确实需要使用'com.google.android.gms:play-services:VERSION',为避免重复的类,请在app/build.gradle文件中使用以下配置:

implementation ('com.google.android.gms:play-services:10.2.4') {
    exclude group: "com.android.support", module: "support-v4"
}

答案 1 :(得分:0)

感谢Jorgesys的上述回答是正确的,但我迁移到androidx上,这解决了我的问题

implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'com.google.android.material:material:1.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'