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

标签 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'

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

问题是启动内置应用程序时出现下一个冲突:
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/

相关文章:

java - 为什么我的 9-patch 在Android中这么小?

java - 升级到 gradle 插件 3.2.1 和 SDK 28 失败

plugins - Gradle插件: Convention vs.扩展

Android addCallback SurfaceHolder 错误并在另一个线程中拍照

android - Rxjava2 with Retrofit 获取单个和所有数据

android - 当我在 android studio 的 res 文件夹中创建目录时,它没有出现?即使刷新后

java - 在android中的java DOM中为&lt;!CData[----]]中的属性解析XML

java - Android - 无法找到显式 Activity 类

android-studio - sourceCompatibility指令在build.gradle中属于哪里?

android - 循环中的 Gradle 复制和重命名