为什么build.gradle中导入的存储库的顺序会影响项目?

时间:2018-06-19 08:55:31

标签: android google-api android-gradle build.gradle jcenter

请解释为什么第一个代码给我同步错误而第二个代码没有。

allprojects {
    repositories {
        jcenter()
        google()
    }
}
  

无法解决:play-services-base   打开文件

     

无法解决:play-services-tasks   打开文件

更改存储库顺序同步就好了:

allprojects {
    repositories {
        google()
        jcenter()
    }
}

有人可以给我一个理由或教育猜测为什么会发生这种情况吗?

1 个答案:

答案 0 :(得分:3)

此文档可能对您有用:

https://docs.gradle.org/current/userguide/declaring_repositories.html

从底部开始,它提到:

  

注意:声明的顺序决定了Gradle将如何在运行时检查依赖项。如果Gradle在a中找到模块描述符   特定的存储库,它将尝试下载所有的   来自同一存储库的该模块的工件。你可以了解更多   关于Gradle’s resolution mechanism的内部运作。