2016-12-25 37 views
0

我被困在一个奇怪的问题。我有一个android studio项目,其中包含主模块和另一个库模块,这是Facebook的SDK。库模块使用一个旧版本的android-suport v4库。我想为我的主模块使用更新版本的ororid支持v4库。但是Android Studio在编译期间默认会选择facebook sdk v4库,即使我在模块build.gradle中将它定义为依赖项时也是如此。尽管这似乎是从Android Studio不正确的行为,我怎么能告诉AS选择我的新库,而不是旧的Facebook。如何强制Android Studio使用更新版本的库而不是其他模块的旧版本?

回答

1

问题是库模块首先解决了它的依赖关系,因此您首先通过传递依赖关系从该模块获得了android支持库(请参阅https://docs.gradle.org/current/userguide/dependency_management.html#sub:transitive_dependency_management)。一个可能的解决方案是告诉gradle排除特定的传递依赖关系,所以只有你在gradle构建中明确提到的那个将被解析和挑选。关于如何做到这一点的指导,请参阅https://docs.gradle.org/current/userguide/dependency_management.html#sub:exclude_transitive_dependencies

相关问题