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

Joe*_*röm 6 android google-api build.gradle android-gradle-plugin jcenter

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

allprojects {
    repositories {
        jcenter()
        google()
    }
}
Run Code Online (Sandbox Code Playgroud)

无法解决:播放服务为基础的打开文件

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

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

allprojects {
    repositories {
        google()
        jcenter()
    }
}
Run Code Online (Sandbox Code Playgroud)

有人可以给我一个原因或有根据的猜测为什么会这样吗?

Sco*_*McC 5

该文档可能对您有用:

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

在底部它提到:

笔记:声明的顺序决定了 Gradle 在运行时检查依赖项的方式。如果 Gradle 在特定存储库中找到模块描述符,它将尝试从同一存储库下载该模块的所有工件。您可以了解有关Gradle 解析机制的内部工作原理的更多信息。