android#Failed to resolve: com.android.support:appcompat-v7:27.+#

使用Android Studio(版本2.3.3)新建了一个测试项目,随后编译无法通过,直接报错
在这里插入图片描述

错误分析

通过日志信息,我们很容易就能定位到问题代码

        compile 'com.android.support:appcompat-v7:27.+'

这是一种很正常的写法,当我们需要一个library时,我们就能通过compile方式在Maven仓库服务器上去下载我们需要的library,而Android Studio 的默认仓库是jcenter,即

        allprojects {
                repositories {
                    jcenter()
                }
            }

那为什么还会添加失败呢?那是因为在jcenter上并没有v7:27.+的library,我们使用的support:appcompat-v7的依赖都是我们sdk本身提供的。

在这里插入图片描述

如果sdk没有相应的library我们该怎么办?很简单,除了jcenter和Maven Central这两种标准的Android library仓库外,我们还可以定义自己特有的Maven仓库服务器来存放library,例如我们能够从google自己的仓库里来下载v7:27.+library

        maven { url "https://maven.google.com" }
解决方案

好了,既然我们知道了产生问题的原因,那么解决方法也就好说了,第一种方法即在我们的buile.gradle中添加谷歌仓库

        allprojects {
                repositories {
                    jcenter()
                    // 使用google的仓库
                    maven { url "https://maven.google.com" }
                }
            }

第二种方法直接将我们的com.android.support:appcompat-v7版本调低即可,因为我们自己的sdk里就包含着v7:26+的library

        compile 'com.android.support:appcompat-v7:26.+'

第三种方法升级我们的Android Studio到3.2版本,我试了试,没有这个问题,因为gradle在编译的时候已经替我们下载好了需要的v7:27+的library

在这里插入图片描述

发布了63 篇原创文章 · 获赞 191 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/MingJieZuo/article/details/105055191