我建立了一个由其他一些项目组成的项目。在第一个项目中,我有下一个依赖项:
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)而不是新的。
答案 0 :(得分:1)
这取决于冲突是什么,但这是排除依赖关系的方式:
compile ('com.google.android.gms:play-services-ads:8.3.0'){
exclude module: 'support-annotations'
}
(一个例子)