如何在Gradle中排除.jar依赖项

时间:2015-12-08 21:03:54

标签: android android-studio gradle

我建立了一个由其他一些项目组成的项目。在第一个项目中,我有下一个依赖项:

compile files('libs/google-play-services.jar')

哪个是旧版Google服务API。在其他项目中,我使用其他最新的Google API

compile 'com.google.android.gms:play-services-ads:8.3.0'
compile 'com.google.android.gms:play-services-identity:8.3.0'
compile 'com.google.android.gms:play-services-gcm:8.3.0'
compile 'com.google.android.gms:play-services-maps:8.3.0'
compile 'com.google.android.gms:play-services-location:8.3.0'

因此,如果我尝试将此项目编译为一个项目,则会收到有关库冲突的错误。请告诉我,我该如何解决这个问题?

问题是我在启动构建的app时会遇到下一个冲突:

error: cannot find symbol method getMapAsync(<anonymous OnMapReadyCallback>)

似乎当编译完成并且应用程序启动时,由于未知原因,它会尝试使用旧的api(其中api应该是版本8.3.0)而不是新的。

1 个答案:

答案 0 :(得分:1)

这取决于冲突是什么,但这是排除依赖关系的方式:

compile ('com.google.android.gms:play-services-ads:8.3.0'){
    exclude module: 'support-annotations'
}

(一个例子)