我在app / build gradle文件中将我的依赖项标记为24.2.1,但是当我运行“gradlw app:dependencies”时,它显示25.1.0已解决。不确定这是怎么发生的,因为我还没有添加任何与25.1.0的依赖?有什么方法可以找到哪个库拉最新的
gradlw app:dependencies
-- com.android.support:appcompat-v7:24.2.1 -> 25.1.0
+--- com.android.support:support-annotations:25.1.0
+--- com.android.support:support-v4:25.1.0
中
答案 0 :(得分:5)
当发生这种情况时,因为您正在使用的另一个库正在引入相同依赖项的其他版本。
您需要使用命令
找出您的依赖关系树./gradlew app:dependencies
在Android Studio终端中执行。
然后,您需要向上滚动终端窗口,直到找到依赖关系树,检查来自第三方库的一些嵌套依赖项,如下面的示例图所示。
如果您发现第三方依赖项与您在buid.gradle中声明的相同依赖项之间存在版本冲突,则可以排除已提取的库并强制库使用您的版本:
对于support-library的问题,您可以这样做:
compile ("com.example.libwithconfictdependency:library:1.0.0") {
//this to exclude specific modules
exclude group: 'com.android.support', module: 'support-v4'
//or this to exclude every modules of the same package
exclude group: 'com.android.support'
}
这种情况下的问题是:
- 库无法工作,因为您手动覆盖的依赖项与库代码
不兼容- 您需要在build.gradle中提供所有必需的依赖项
醇>
由您决定如何处理此事。