问题似乎出在 jcenter 上。我花了几个小时来解决这个问题,您的问题似乎与我的相似,我认为以下解决方案应该有效。
由于某种原因,对于 jcenter 中的许多库,许多库的 pom 文件保留在原处,但相应的 aar 文件已被删除。play-services-basement库也是如此。请在此处查看以下内容以供参考(play-services-basement的 pom 文件在 jcentre此处可用,但 aar 文件在 jcentre此处不可用):
解决方案:在您的项目级 gradle 文件中,更改以下代码块
allprojects {
repositories {
jcenter()
google()
}
}
至
allprojects {
repositories {
google()
jcenter()
}
}
为什么这行得通?
在我们的第一个代码块中,当 gradle 尝试解析存储库中的依赖项(在我的情况下,它是 jcentre 存储库中的 google-services-basement)时,由于相应的 aar 文件已被删除,因此无法解析它。结果,构建失败,如下所示:
Could not find play-services-basement.aar (com.google.android.gms:play-services-basement:15.0.1).
在我们的第二个代码块中,在 jcenter 存储库之前引用了 google 存储库。当 gradle build 开始时,它首先在 repositories{... 中列出的库中查找,以解析项目中使用的任何库。现在,当 gradle 尝试解析 jcenter 中的 play-services-basement 时,它成功解决了依赖关系,因为 google 存储库已经提供了相应的 aar 文件(最新版本的相同 aar 文件在 jcenter 存储库中不可用)已经在评估 jcenter 存储库之前引用。请检查并让我知道这是否有效。