我建立了一个包含其他一些项目的项目。在第一个项目中,我有下一个依赖项:
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'
结果,如果我尝试将此项目编译为一个,则会出现有关库冲突的错误。请告诉我,我该如何解决这个问题?
问题是启动内置应用程序时出现下一个冲突:
error: cannot find symbol method getMapAsync(<anonymous OnMapReadyCallback>)
似乎当编译完成并启动应用程序时,出于未知原因,它会尝试使用旧的api(其中api应该是8.3.0版)而不是新的api。
最佳答案
这取决于冲突是什么,但这是排除依赖项的方式:
compile ('com.google.android.gms:play-services-ads:8.3.0'){
exclude module: 'support-annotations'
}
(一个虚构的例子)
关于android - 如何在Gradle中排除.jar依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34165966/